Last week I received an email from Rahul Gulati with a great question about which language to start programming in. With his permission, I've re-printed a portion of his email:
I often read on web from experts that JS is not the first language to start with and ridicule it. Go with Java/Python as it is a statically typed and offers great learning curve.
If some one is not holding a CS degree, can he not start with any language?
Programmers are very opinionated when it comes to programming languages. They will argue vociferously about the merits of one set of languages over another set.
The examples that Rahul provided (below), while well written, are simply opinions. So that begs the question – Which programming language is best for when you are first starting out?
Here is my opinion:
As long as it's a modern programming language (meaning that it's usable in today's market) it doesn't matter. Learn whichever programming language you feel most confident in.
Once you are comfortable solving problems with a programming language, take that same solution and try to adapt it to other programming languages. Over time you'll start developing your own opinions on which languages you like and why you like them.
Most importantly, don't abandon the mindset of experimentation with languages even if you feel completely at home with a specific set. This will make you a better programmer overall and and will expose you to new ideas that you might be able to apply to your favorite programming language.