There are lots of little differences between languages. They all have their niches, and there are good and bad points about all of them. The thing is, you can write a program to do anything[1] in any language you choose. Some will make it a bit easier, but the underlying principles are all the same. If you want to learn a language, then it's more useful if you tell us what you want to do with it. The general advice for beginners these days is to go with Javascript or Python. Unless you want to do web development, I'd recommend Python to start with. http://www.codecademy.com/tracks/python [1] Technically correct, the best kind. You can express any algorithm in one programming language in another. The language itself may not have features to allow for certain applications. You can't write a functional hardware driver in Javascript, but you could write a program that simulates one.
Thanks Just one question, do you think the course tracks on CodeAcademy suffice for good learning of the language or it should be done through other professional courses such as an outside academy or a paid course on Udely?
Try Coursera * Introduction to Python - starts in February
* Introduction to Systematic Program Design - Part 1 - which I think is still open to join and which also teaches very solid practices to designing code. Or Edx * MITs introduction to Computer Science - which uses Python and starts in Jan
Thank you. I would definitely sign up for these.
I haven't done CodeAcademy, so I can't say. It doesn't really matter though. From your posts, it sounds like you're focused on the language part of programming. The language isn't really the important part though. If you're already a programmer, learning a new one takes very little time. The hard part is learning how to reason about programs & breaking down a problem into something that can be expressed as a program. This is something you need to learn by doing. Unless it's got the world's best homework assignments, I wouldn't spend any money on a basic programming course. All the information you need is freely available. And if you go with Python, keep in mind which version of it you're using. There are small but significant differences between 2.7.x and 3.x, so be aware what the tutorials you're reading refer to (if you see 'print("text")' in it, it's python 3. If you see 'print "text"', it's python 2) . Both versions are widely used, but I think 2.7.x is still more popular.