Wait, before you answer that, answer What is Popular?
It depends on what angle you are looking at it, doesn't it? If you want to learn the most popular language, the angle is your intent. Is your intent: an ability to make a better living or a need to tinker with a âcoolâ new toy or be part of the "in thing"
Popular languages ranking may vary depending on whether you want to âcode for a livingâ or code for pleasure.
A programming language will help you make a better living if companies are willing to pay good money for your services. Most times, companies adopt a language with the âNo one got fired for choosing this languageâ mentality. Most or all of the time, the language is chosen by a person in the company, based on
Talent availability
Support structure behind the language -- user base, communities, library availability, the big organization promoting it
and then, and only then, the merits of the language matters. Of course, I have assumed that the suitability of the language to the task at hand has been evaluated. Factors 1 and 2 are reinforcing, more companies choose a language, there is more adoption in the programming community and more the adoption, more the talent pool and hence more companies picking that language.. you get the picture.
Then, how can a new programming languages break this cycle, gain a foothold and grow? Paul Graham, in his article "Being Popular" stresses on early adopters, hackers as he calls them and their opinion. A need for a new language based on a new paradigm helps. Organizational support also plays a role in a language becoming popular.
Early adopters is a key, they are the ones who will use the language in their free time, iron out the idiosyncracies and create the base for a critical mass. But this alone is not enough, otherwise "take your pick" language would be widely adopted in the corporate world. I think there should be a paradigm change, a change in OS, a change in application requirement etc. to help a language become popular and widely adopted, like Cobol for Mainframes C/C++ and later Perl for Unix OS Visual Basic for Windows Java for build once, run anywhere Php and now Ajax for web application
We were curious to analyse programming languages based on multiple variables and then create a ranking based on whether you want to âcode for a livingâ or âcode for pleasureâ. My next post details the variables we will use to create the Programming Language Popularity Score.