Which programming language to learn first

Assembly Language!

http://en.wikipedia.org/wiki/Assembly_language

I'll buy him a pint when he gets older! He can follow it up with C or C++ ;)

Hahaha! It's a bad idea to start learning Assembly language.

I suggest learning C++ first then java and finally assembly language. After that, you can learn any programming language pretty quickly.

EDIT: I'm currently learning Assembly language (x86). I think that the hardest part of it is to implement a kinda complicated algorithm in this language.
 
I'd recommend something like Python to start off with, and then moving on to either Java or C# once he know's the basics. Either of these languages are in high demand, but Java and C# can be confusing to a complete newbie with all the namespaces and forced OOP. Also just simple things like reading in data from the console is much more confusing in Java or C# than it is in something like Python.

If he's into electronics, one of the Arduino starter kits are really nice (I'd recommened the Sparkfun one). They come with tutorials for making blinking lights, running motors etc. If he really gets into it, the only limit of what he can make is he's imagination.
 
I'd suggest starting with a course in programming logic, as suggested earlier. After that, things get a lot easier.
 
I'd suggest starting with a course in programming logic, as suggested earlier. After that, things get a lot easier.

You are talking about a 15 year old who still needs to get past the shock that his first app won't have buttons but only be console based. Seriously, leave the logic stuff for later (like uni). For now he should really just code some stuff. You learn the most by ****ing around anyway.
 
What do you mean?

I mean that a good teacher would teach an understanding of how programming works. Once one gains an understanding of logic, variables, functions, the kind of operations which go into making up of a programming environment, can one one start programming.

The language is unimportant, a good programmer can migrate between languages as they will understand the algorithm to be coded at which point it's a matter of choosing a construct in the language which will accomplish this.

Obviously, were one to enter a professional programming environment one would need to learn the specific tools required, but until that time having a teacher capable of explaining where one has gone wrong, or pointing out other alternatives to achieving a result, is of greater importance than a specific language.

In the early days of computing a programming class would learn a pseudo code language at beginner level, where after they would learn a working language.

The language is not important. the teacher is.
 
I mean that a good teacher would teach an understanding of how programming works. Once one gains an understanding of logic, variables, functions, the kind of operations which go into making up of a programming environment, can one one start programming.

The language is unimportant, a good programmer can migrate between languages as they will understand the algorithm to be coded at which point it's a matter of choosing a construct in the language which will accomplish this.

Obviously, were one to enter a professional programming environment one would need to learn the specific tools required, but until that time having a teacher capable of explaining where one has gone wrong, or pointing out other alternatives to achieving a result, is of greater importance than a specific language.

In the early days of computing a programming class would learn a pseudo code language at beginner level, where after they would learn a working language.

The language is not important. the teacher is.

Alright. Thanks.
 
I taught myself from source code and books when I was that age.
As mentioned by others here, learning to think logically is very important. From there he can practice his problem-solving skills by developing simple console applications. I would recommend C#/VB.NET at that stage since it gives him a foot in the door with the .NET framework. C# would however be more beneficial in the long run, although VB.NET might be a bit easier to read at first. It is always possible (and should be rather easy), to switch from VB.NET to C# later on. Because both languages mostly use the .NET Framework (Objects, Methods, etc), the two actually seem very much alike. You can actually translate the code line-for-line between languages. Most of Microsoft's certification-orientated learning books, contains the syntax for both languages.
 
You are talking about a 15 year old who still needs to get past the shock that his first app won't have buttons but only be console based. Seriously, leave the logic stuff for later (like uni). For now he should really just code some stuff. You learn the most by ****ing around anyway.

To code, you must follow a logical steps, a structured way of thinking. Coding will become very frustrating,very quickly without logical constructs.
 
To code, you must follow a logical steps, a structured way of thinking. Coding will become very frustrating,very quickly without logical constructs.

Yep. They way we were taught earlier was with pascal/B] and logo. Understanding the logical fundamentals but being able to visually see the results. Our project for end of the year was to do a brief "animation".

I think it was a great way to have exposure. I didn't study com sci at school as I thought electronics would be more beneficial a the time and I picked up programming pretty quickly anyway self study.
 
I'd say not to bother with something like .NET initially. Rather start off with C or Pascal. My choice would be C. It's both simple and close to the machine.
 
I'm keen to get back into it too. Only ever programmed in Turbo Pascal (loved it) and C (hated it but then again i hated every subject at university).

Could you clever guys perhaps give some examples of what the different languages can be used for? That way it can be easier for us keen to get programming to decide which language based on what type of applications we intend to program.
 
How about concentrating far more on the logic of programming? Loop structures, abstraction, OO etc.

lol, I remember at school we learnt on Pastel with a output to a logo program to draw things. Tertiary was taught c and c++ and then during work career have learnt VB, C# and java but if it's one thing I learnt is languages are pretty similar in structure, syntax varies but far more important to understand the logic of what you are doing.

I came accross a article on code project a while ago about learning development while coding games. I think thats a great idea and I'm sure the more old school of us can remember the days of "coding" your game before playing :D

Agreed. Language comes later. Learn the basics first.

Excellent programmers can work in various languages. At the end of the day it's all the same.

I'd suggest starting with a course in programming logic, as suggested earlier. After that, things get a lot easier.

I'd say not to bother with something like .NET initially. Rather start off with C or Pascal. My choice would be C. It's both simple and close to the machine.

+1

Doesn't matter what language. If you understand the conditionals of one language, learning another language is trivial. I still think Pascal is the best starting point, followed by C (not C++).

For the record, your kiddie must want to do it, if he doesn't, you're wasting your time...
 
Top
Sign up to the MyBroadband newsletter
X