What makes a Programming Language Popular.
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.
This is part of the "What Makes a Programming Language Popular" series where we compare Perl, PHP, Python and Ruby. See