Membership is FREE, giving all registered users unlimited access to every Acorn Domains feature, resource, and tool! Optional membership upgrades unlock exclusive benefits like profile signatures with links, banner placements, appearances in the weekly newsletter, and much more - customized to your membership level!

Learning a programming Language

Status
Not open for further replies.
Joined
Nov 8, 2005
Posts
2,495
Reaction score
32
If you were IT savvy but a non programmer and looking to learn a programming language, what would you choose and why?
Would also like to know from a job prospect point of view.

Reason I ask is i'm bored of my job and have a few opportunities and also want to open a few other doors. I've passed some exams such as ITIL and doing Prince2 but also need some programming to go with my other IT skills.
I can open some doors If I knew perl (I know some shell). I also have a job offer which will send me on some sql courses ( I know the basics, selects,inserts,updates) but no use of stored procs etc.... They would also want me to learn asp.net and asp which doesn't appeal that much as I don't believe it's that widely used????

What would you advise on learning from a commercial or other perspective?
 
Programming depends on your field.

Web programming

Portable Executables

Hybrids (I mean Java/Flash etc).

Services

All require diffent types of language.

Web Dev, I can do ASP, Perl and PHP and I wish I'd chosen PHP from the start. MySQL/MSSQL are close enough that if you learn obe you can muddle the other. Altho with PHP its really just MySQL.

Further to this is Flash, Silverlight, Java and a few others, but I don't think they are worth considering at the point you are.

Static Programming its all about C for power applications, and VB for prototypes. Most programmers know a RAD and Low Level language, VB/C or ASM/C are popular groups. If you choose to go midway then Delphi is an option thats kinda half c and half vb but I never could get my head around it.

I would personally go PHP/MySQL/JS or C, with C you can use stdin and stdout to write web based applications anyway so its mid way.

Are you artistic at all ? If you are then I would go PHP, if your not artist I'd go for C. Logic being that being a code monkey for the web, usually means teaming up with a graphics person or hanging around guru or similar doing bit jobs.
 
As stender stated, php is probably the way to go.

Its the best online programming language (I have tried asp, .net, ruby on rails, and more) Since your involved in domains, it fits you :)

Oh and don't go for the asp/.net one, seriously... dont. I have had enough controls etc to last a lifetime, they are disgusting!
 
I'd look at learning the .NET framework writing in either c# or Visual Basic.

This supports web based development using asp.net or development of Windows applications.

Microsoft Sharepoint is also built on asp.net and has a huge uptake commercialy.

Microsoft offer a number of excellent free devlopment tools in their Visual Studio Express editions which offer cut down versions of the full blown Visual Studio suite.

Lots of free video based tutorials for .NET programming, it can be quite tricky to get your head around object based programming to start off with but it is very powerful once you get your head around it. Developing in Visual Studio is nice with it's intelisense feature showing correct syntax for commands as you type.

I started teaching myself vb.net a couple of years ago and found it easier to pick up than c# this may be because I'd already worked with vbscript, that said there does seem to be more code samples on the net based on c# rather than vb.
 
Thanks, I should of said this isn't really a web dev question.
I work in IT and looking to widen my commercial worth. I can move into a similar role for more money but need perl. Or I can take another job where I will mainly be doing mssql but will probably learn asp/asp.net and maybe c. Or I learn something different off my own back.
 
.NET Development would also be my recommendation (unsurprisingly bearing in mind my username).

The real difference between C# and VB is pretty much just syntax now so it doesn't really make that much difference which language you learn. VB is certainly easier to get to grips with although there are more examples written in C#. My recommendation would be C#.

The great thing about .NET is the framework is pretty much the same irrelevant of whether you're building for Web, Desktop or Mobile. Each has specifics, but the fundamentals don't change and you can learn one language and target multiple platforms.

Downside of PHP is that you're only going to be able to develop for the Web and you're not going to be creating enterprise business applications using it, but then again, that may not interest you...

What experience do you have (Windows/Linux?) and which interests you more - Web development, application development or a combination?
 
Thanks, I should of said this isn't really a web dev question.
I work in IT and looking to widen my commercial worth. I can move into a similar role for more money but need perl. Or I can take another job where I will mainly be doing mssql but will probably learn asp/asp.net and maybe c. Or I learn something different off my own back.

It depends how much of a step change you want. I know little about Perl but after a very quick Wikipedia scan believe it would be quite useful, so if you just want a bit more money, this might be the route to go. I reckon you'd probably get quicker results than with ASP/ASP.net.

ASP/ASP.net and MSSQL is useful if you want to be a developer or contractor in a "big business" environment. I started out with ASP.net, for instance it powers the feeds on my first ever shopping site, and I used it for the review engine on my mobile broadband site. I'm not that gifted a coder, and I found ASP.net in particular quite heavy going. There isn't as much online help for web development, and it always felt as though Microsoft was bringing out something new and the rules had changed. It also felt a little over-engineered for simple tasks. I have since switched to PHP and find it suits me so much better, but then I am more a find a script and hack it kind of person.

If it's web development for your own sites, PHP wins hands down. If you want to code for big business, then it's ASP.net.

Rgds
 
I would say go with perl, you will be worth more, and its a great language.
 
I'd go with .Net. I have a few job alerts set up and the large number of jobs that appear in my inbox are for .Net Developers, most of which are C#.

The guys I've interviewed and brought in to the company I work for have been C# .Net. Many talk down on VB a little, as being slightly outdated. However, they are pretty much interchangeable, as they compile to the same result. The only problem is when source code is shared amongst a group of developers, then it can be difficult to share the code. The other side of the coin is that I've seen problems with C# developers sharing C# code!

Whatever you choose, then ensure cloud computing is at the forefront of your thinking.
 
I would say go with perl, you will be worth more, and its a great language.
I agree.

If you are totally unfamiliar with programming concepts, then grab a copy of QBasic and a few tutorials here:

http://www.petesqbsite.com/sections/introduction/intro.shtml

This is not a language to get too bogged down with, and totally useless for the web, but it will give you very quick results and instant gratification while you learn the very basics.

Having said that, take a look here:

http://www.powerbasic.com/products/

The Windows or Console Compiler will do most things on the web. I wrote my first dropcatching program with the console compiler and I know another catcher on here did the same :)

Mind you, best to stay with Linux really for web stuff so Perl would be my ultimate choice even though it runs on Win Server as well.

IMHO.
 
Downside of PHP is that you're only going to be able to develop for the Web and you're not going to be creating enterprise business applications using it, but then again, that may not interest you...

That I definately disagree with. With a caveat. Yes there's a lot of little scripts & projects written in php, and it was developed as a web programming language. So was ASP. As ASP has developed into ASP.NET & C# the power of PHP has also developed. It's just that 90% of the ability of PHP isn't used by most php developers.

PHP 5.3+ is definately enterprise ready... it's something that PHP and mags like PHPArchitect are pushing. PHP frameworks & OOP development is there. With cloud computing and the move to online apps from the traditional compiled executables both ASP.NET (& C#) and PHP are the development skills required.

Those with experience in projects and application development will be most in demand.

As an aside if you want to be recognised in the PHP & MySQL fields the the Zend certification & MySQL certifications are something to consider.

S
 
If you are going for commercial jobs, then C# with some ASP.Net is the way to go, take a bit of time and learn IIS inside out while you are at it. Sitepoint have a good book on asp.net with side by side examples in C# and VB.Net.

As pointed out in an earlier post, C# and VB.Net (and other .Net compiled languages) all compile down to the same .Net intermediate code so the end result should be more or less similiar whichever high level language you choose.

If you are outside the traditional commercial market, then PHP and / or PERL will give you a good skills base, you can run PHP & PERL on a Windows box if needed, although commercial / enterprise customers tend to be shy when it comes to open source. If learning PHP, then the Zend framework should be considered, not essential, but may be better to learn it hand in hand.
 
Just to add a slightly different slant, when I'm hiring, I always consider experience with the programming languages we use a bonus, but not essential, where as sound software engineering principles are. Be sure to learn some theory along the way.
 
I didn't give enough reasoning for perl, sorry, let me explain:

I used to work for a large web design firm, my role was as a front end coder, however I was the primary interface with the backend staff. Out of all the backend staff, the most depressed ones were those doing asp.net. This is because of the way you code. They would insert controls (reusable blocks of code) and find that they didn't display the client wanted, and as a result, either I had to hack the controls on the front end (using code to find the crap code and replace it) or they had to make their own controls, which made them very very frustrated. There was even this guy there, who did offline c sharp (C#) and said it was just as bad. He was depressed and quit development all together, not even sure what he's doing now.

On the other side, at conferences and through my design connections, I have met some of the most happy guys, who love their programming language, these have been php or ruby on rails coders, and infact... a few perl coders (I even know one who went to work at lovefilm and earns a lot) For example, some ruby on rails guys I know in surrey (Who I am actually talking through a drop catching program with) they all talk about how great their language is, how fast it is and how easy it is to find solutions. I haven't met many .net coders like this... if at all.

I would definately, 100% say that you should go with perl, perl is very flexible, perl is linked to most other languages anyway (its C for gods sake) and would really help you.

Having said that, there are less perl jobs so it might be harder to find one, but I believe good perl developers are highly sought after by the big guys. Like, there might be 100's of ads for .net developers, but each gets 50 applications, whereas there could be 10 ad's for perl developers, but each gets 20 app's (see what i mean?)

Talk to people who have learnt both, and get their views.

Sorry if this has loads of typo's, I am a bit tired!
 
Just to add a slightly different slant, when I'm hiring, I always consider experience with the programming languages we use a bonus, but not essential, where as sound software engineering principles are. Be sure to learn some theory along the way.

Sound advise! If someone can program, then the language (in most cases) is just syntax definition so picking up a new language is not too difficult, however, if their code is pants, then it is probably pants in any language.
 
That I definately disagree with. With a caveat. Yes there's a lot of little scripts & projects written in php, and it was developed as a web programming language. So was ASP. As ASP has developed into ASP.NET & C# the power of PHP has also developed. It's just that 90% of the ability of PHP isn't used by most php developers.

Yes, ASP was developed as a Web programming language, but no it didn't evolve into ASP.NET and C#. Sure ASP.NET is the replacement to ASP, but it isn't ASP v4.

My comment regarding "enterprise applications" wasn't clear, I was referring to non-Web based apps.

Whilst cloud computing has and will no doubt continue to change the development landscape, online Web based apps aren't going to be the replacement for traditional line of business applications in enterprises for the foreseeable future, if ever...

If you want to develop for anything other than the Web, PHP is out. If you want to build a transferable set of skills that can target multiple platforms (Web / Desktop / Mobile), that can run on multiple OS's, and that enable you to develop a wide spectrum of applications from simple console based apps to SOA based enterprise applications then .NET is the route to go down IMHO.
 
Last edited:
Yes, ASP was developed as a Web programming language, but no it didn't evolve into ASP.NET and C#. Sure ASP.NET is the replacement to ASP, but it isn't ASP v4.
I was being metaphorical rather than literal! :)

If you want to develop for anything other than the Web, PHP is out. If you want to build a transferable set of skills that can target multiple platforms (Web / Desktop / Mobile), that can run on multiple OS's, and that enable you to develop a wide spectrum of applications from simple console based apps to SOA based enterprise applications then .NET is the route to go down IMHO.

I'd also include java in that pile.

Ultimately a good developer should be able to pick up a new language to add to the arsenal.

S
 
I learned Assembler, Fortran, C and Pascal back in the dark ages - I was taught Basic, it was crap, I learned Prolog, it was crap for other reasons. Then the world moved to VB, C++ and Delphi (all the others with objects).

If you learn C, you get to understand all the others - although the way the explanations are phrased deliberately obfuscates the origins, you can understand what you are dealing with if you think laterally.

I was talking to my friend's son recently, he graduated this year BSc Computing, and he is knowledgeable about how to drive a lot of "packages". Give him Dreamweaver, he will beat me hands down on how to build a site. Give him a PC with an OS, my site will be out there while he is trying to link to the net.

Soon, it will happen that efficient programming will start to surpass effective programming. The Czechs and Poles know how to make a little go a long way in computer power terms. Give them a reason to do it (eg PAY THEM MONEY), and Micro$ht will be paralysed,
 
Thanks all, I'd like to say your posts have made my decision easier but....:D

There are a lot of jobs advertised, doing what I do but for circa £10k more if I knew perl.

I have another job offer where I am now but would learn asp.net and maybe some c# but will be doing a lot with stored procedures. My salary won't necessarily change with that one initially, hence where I'm wondering is it better prospects? My hours will change with this job too which is a negative.

I can't say I'll enjoy coding in anything tbh (would love to get out of IT altogether if my sites covered my salary! wouldnt we all).
 
Status
Not open for further replies.

The Rule #1

Do not insult any other member. Be polite and do business. Thank you!

Members online

Premium Members

Latest Comments

New Threads

Domain Forum Friends

Our Mods' Businesses

*the exceptional businesses of our esteemed moderators
General chit-chat
Help Users
  • No one is chatting at the moment.
      There are no messages in the current room.
      Top Bottom