No, really, which programming language is best? This question and variations to this question have been asked since the dawn of programming languages. It is one of those philosophical questions that inevitably fuel rage and anger, and is trumped perhaps only by discussions of politics, race, religion and other subjects. And no, it has nothing to do with Donald Trump. The point is, the programming language debate does not make for polite conversation – but that is exactly the reason why we need to have it.
The TIOBE index measures the popularity of programming languages by sniffing the Internet for the aroma of a programming language. As explained on the TIOBE website:
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.
So, what does that mean for programmers? Well, firstly, if your skillset is not solidly placed within the top 20 languages, you either work in a very niche field, or your expertise is a little exotic, or both.
Preferably, your core programming language should be in the top 10 or on its way to the top 10. Certainly, this is a generalisation as there are a good number of people earning a healthy income programming in languages that are not even close to the top 10 list. The trouble is, you may have trouble landing a new job if your company goes bust. That said, you may also be in a better position to bargain for more money if you do eventually find employment.
The “experts” say language XYZ encourages bad programming. This assertion is ill-conceived. Bad programmers encourage bad programming. I have seen bad programmers destroy the most ambitious and well-designed projects programmed using the “best” programming languages. Read literature on software design patterns, practice the literature, and find out which patterns best fit your programming language and project. Bad programming fails projects more often than code.
Always ensure that you get the job done. Do your web project runs a million times faster when done in assembler but it took 10 years to finalise a 3 month project? Choose the right tool for the job. Carefully negotiate between performance, easy of use, stability, and maintainability when selecting a programming language for your projects.
Many people have favourite languages and may become quite snobbish in their approach, particularly when asked their opinion on languages that they consider “lesser” and “inferior”. Find out as much as you can about a particular language and rather be swayed by the language’s track record of successful projects and unsuccessful projects. Programming snobs will always be there, and they are entitled to their opinion, but it does not always mean that their opinions carry any weight.
Programming languages are often like romantic relationships. You meet a new language, fall in love, the relationship becomes obsessive and you invest all your time in it, and finally, you find out all the horrible things you never wanted to know. That is why the the perfect language is the language that you don’t know because it exists only as a fantasy. Knowing a language’s shortcomings can sometimes be a blessing, as a new language may have shortcomings that you have not even considered and may affect your future project in an unforeseen way. It is exciting to flirt with new languages, but be careful when taking your relationship to the next level. Your boss may not be impressed when that multi-million dollar project fails because of software blues.
I find some languages horrible. I know they are popular, I know they are good, but I feel a little sick at the thought of writing code in it. Call it that romantic relationship that became stale which finally ended in an affair and (s)hacking up elsewhere. Call the software bugs I still fix on the old projects alimony and support. Happy programmers are hard-working programmers. Try a few programming languages and find one that you enjoy. In the end, it doesn’t matter if a programming language can turn lead into gold and tops the A-list if you are terribly unhappy when you programme in it. If your programming language makes you enthusiastic, the sky is the limit – or stack, if you want to be pedantic about it.