A common question in web development and programming forums is “what language should I learn first?” I’ve heard this from new web developers, marketers, future programmers, college students, and others. In fact, the only thing more diverse than the group asking the questions are the answers provided.
So what language should someone new to programming learn first?
The answer is, it really doesn’t matter. Thanks to Google and the web the language itself is really an arbitrary decision when looking at the big picture. If I wanted to I could push out enough code this evening, in a language I’ve never looked at before, without much effort to form something functional. How can this be? It’s possible because only two things really separate most modern programming languages, vocabulary and syntax, and neither of these make a good programmer.
Ask anyone who has been in the business of writing code for more than a few years and they will nearly all tell you that the language they started on is not the language they utilize today. Technology simply changes too quickly for any single language to be useful over the career pf a developer.
So what is important?
It is far more important for someone new to programming to understand the underlying concepts of programming before they worry too much about the language. Whether its control statements, data structures, or a myriad of other topics a strong grasp of the fundamentals means that you will be able to eventually write your program in whatever language is most appropriate to the project at hand.
Of course, in order to learn the fundamentals of programming you’ll need to pick a language to use. To do this right you must consider two factors. First, if you are taking a class or learning through another formal method this will be the language utilized by your training. Whether it is Java, C++, or something else, by virtue of your situation the best language for you to learn will be the one that will be taught to you. Second, if you are not learning in a formal setting, pick a language that’s both appropriate to your project and has a lot of help available online. If you want to build a website PHP might be your best bet. If you want to develop for iOS you’ll have to start with Objective C, etc. As with formal training the best language for you to learn on will be the one most appropriate to your situation.
In the end, the language you learn to program in isn’t what’s important. It’s the concepts and techniques of computer programming that you should be worrying about and they will applying equally to whatever language you use. So stop worrying about the language and start learning what’s really important. Stanford University even offers some of its computer science courses online for free at http://see.stanford.edu/ to get you started.