Is Computer Language Popularity Important?

Ever since the language wars were about COBOL versus PL/1, developers have argued about which one is "best." Best for what, though? Every language is a tool suited to a particular task, and the wise programmer chooses the best for the job. On the other hand, expertise in an in-demand language can ensure a steady income, and those who do the hiring want to bring on people who can make their chosen language sit up and sing. Who decides which languages a company will support, and on what basis is that decision made? Is the language's popularity a key criteria... and should it be?

At the developer level, language choice is completely personal. Like picking a brand of hammer or carving knife, the tool should fit well in your hand. Some people think better in Python than in PHP, and God help anyone who thinks in LISP.

Aside: Programming language adoption follows the genetic rules behind duck imprinting: the first creature a duckling sees is perceived as its parent. My first programming languages were PL/1 and FORTRAN, and despite writing production code in several others, from standards like C and REXX to obscure languages like Mary2. Yet, I can write FORTRAN code in any language. At one time, I dreamed in FORTRAN, compete with numerical labels in the margin of each dream. (This may have been the point at which I decided it was time to get a life.)

In business and managerial terms, however, the choice of a programming language is a much larger issue. A corporate standard language (or at least set of languages) ensures that the entire staff can read any in-house code, if not adequately maintain it. Predictability is a good thing, even if it's boring, though I've seen some mighty strange internal standards. In the mid 1980s, Ramada Inns let developers work on PCs in only Assembly language and interpreted BASIC, which meant that otherwise trivial apps were written in Assembly because none of the developers could stand BASIC. Turbo Pascal was smuggled in like booze at the office potluck.

How do you decide which languages are "acceptable" in your shop? Is it because your favored development environment (such as Eclipse or .NET) builds in support for one language suite? (Thus shops choosing Visual Studio would bless C#, VB.NET, and occasionally C++, with a smattering of IronPython accepted.) Or do you look for what programming languages are "in" and thus it's easy to hire developers affordably?

If you care about affordability, you might be in luck. Someone took the time to analyze language popularity:

We have attempted to collect a variety of data about the relative popularity of programming languages, mostly out of curiousity. To some degree popularity does matter — however it is clearly not the only thing to take into account when choosing a programming language. Most experienced programmers should be able to learn the basics of a new language in a week, and be productive with it in a few more weeks, although it will likely take much longer to truly master it.

Based on their results, the most popular languages today are C, Java, and Python. The results are interesting—well, okay, they're fascinating if you're a software development and statistics geek like me, and for your sake I hope you aren't. But I take issue with some of their methodology.

First, it's based largely on general web searches, such as, the site says, queries like language programmer -"job wanted" site:craigslist.org. As they admit, "Popular languages are used more in industry, and consequently, people post job listings that seek individuals with experience in those languages. This is probably something of a lagging indicator, because a language is likely to gain popularity prior to companies utilizing it and consequently seeking more people with experience in it." They also look at the number of books available for a given language, which too reflects language adoption only after it's reached a tipping point.

1 2 Page
Join the discussion
Be the first to comment on this article. Our Commenting Policies