The choice of programming language for your Next Big Project can be difficult. Even worse, it can seem easy… when it is not. On the one hand, strictly speaking, you can write any program in any of Turing-complete languages. On the other hand, that doesn’t mean it will be easy. In fact, writing a program in a poorly suitable programming language could be extremely difficult.
When asking yourself which is the best programming language, it is important to first determine what you need to accomplish. Some programming languages are completely unsuited to some tasks, while other languages are a natural fit. An example of this would be attempting to parse data out of a log file, find data which interests you by certain patterns, and create a .CSV file out of it. A language such as C++ may easily be an overkill for such a task, while a language such as awk was designed with exactly such a task in mind (with something like Python being a not-so-bad middle ground). However, if you don’t know awk but do know C++, and this is a one-off task, you still may be better with C++ because of the awk’s learning curve. Indeed, sometimes the best language to program with is simply the language we are most familiar with; however, trying to shoehorn a task into a language that isn’t appropriate is likely to have negative consequences down the line.
The whole paragraph above is written just to illustrate one simple point: there is no one single “best programming language”, and it depends on the task in hand, on the whoever is doing it, on project scope and lifecycle, on the way stars are aligned, and so on.
Best Programming Language to Learn
The second big factor to be considered is “how difficult is to learn the language”? In other words, learning how to drive on an F1 car might be a disaster, despite of all the advantages of F1 car over a simple front-wheel-drive with an automatic. Yes, C++ might provide you with a very efficient way of doing many tasks, but for learning purposes it can (and will) become overwhelming. If aiming to become a C++ developer, probably Java is a better learning/staging choice.
Web Programming Languages
One thing which is “almost inevitable” for web development, is a database. And when speaking about database for not-so-large project, it is still usually “almost inevitably” an RDBMS. And when speaking about RDBMS, we’re speaking about SQL. SQL is an odd member of the programming languages family (some family members don’t like it, and some even say it is not really a “programming language”). However, whether it is a real programming language or not, you still most likely need to know it to develop an end-to-end web application.
One popular open source combination for Web is known as LAMP – which stands to Linux+Apache+MySQL+PHP. It isn’t a bad combination, though IT Hare prefers to read ‘P’ in ‘LAMP’ as ‘Python’ :-).
Which Web Language to Learn First