Programming Language Popularity

Last data update: Fri Oct 25 17:17:19 -0400 2013

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.

Browser requirements: sadly, yes, this site requires a browser that supports Javascript and the canvas tag. I wasn't happy with other options for creating charts in image formats, and this also saves some bandwidth, since the Javascript is only downloaded once. Firefox, IE and Safari ought to work, although I haven't tested it with the latter. Konqueror apparently does not work. The charts are created with Chartr and Flotr.

Note: these results are not scientific. They are interesting nonetheless, and are an attempt to glean as much data as possible notwithstanding the fact that gathering precise data is impossible. We hope you find them interesting as well. Constructive suggestions on improving them are welcome. Contact information is provided at the bottom of the page.

Want to include these charts on your own web pages? Here's how.

Normalized Comparison

This is a chart showing combined results from all data sets, listed individually below.

It is possible to recalculate the normalized results with different "weights" for the different data sources. For instance, if you want to place more importance on Craigslist data, and less on Google Search, you could set Craigslist to '2', and Google Search to '0.5'.

Google Search Results

Google provides an API to its search API. Previous versions of these statistics used numbers from Yahoo, but since Google has replaced it's old API, we utilized Google's. Searches took the form "language programming"

This is a fairly crude approximation of popularity, however, it's worth including, because all other things being equal, the more popular a language is, the more pages will exist mentioning it.

Google Files Results

Using Google's API to compare the number of files Google has found with a specified extension. Searches took the form filetype:language file extension

While this may also be a crude approximation of popularity, it may be better than just a straight search for the language as this could track actual sharing of code. The one downside that is hard to account for the bump web languages get for this. However, it may also help see languages that are versatile, such as Java.

Craigslist

We used Google's search API for this too, with queries like this: language programmer -"job wanted" site:craigslist.org

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.

Github

Data from Github was obtained using the API to search here: http://developer.github.com/v3/search/

There is one downside to using this data: it favors open source projects with code that is visible on the internet.

Ohloh

Ohloh provides a lot of information and statistics about various open source projects. We decided to use the number of people committing code in a particular language, rather than something like lines of code, as languages like C will always have more lines than, say, shell scripts.

What languages are people talking about?

For fun (well, this whole site is "for fun"... let's just say it's extra data we don't include in the main results), we also gathered some data from sites programmers often visit to talk about programming languages. Because of how this industry functions, what people are experimenting with, what they want to use, and what they're paid to use every day are often different things. For the moment, we use three sites:

Normalized Discussion Site Results

Normalized results from the discussion site data sets - these results are not included with the 'normalized results' above. It's interesting to note how languages like Haskell and Erlang are talked about a lot, despite scoring fairly low on the normalized popularity chart above. People are interested in them, but haven't begun to use them on a large scale yet.

It is possible to recalculate the normalized results with different "weights" for the different data sources. For instance, if you want to place more importance on Craigslist data, and less on Google Search, you could set Craigslist to '2', and Search to '0.5', and then redraw the chart.

Lambda The Ultimate

The data were obtained using Google's search API on the Lambda The Ultimate web site, utilizing the allintitle: query option in an attempt to eliminate false positives due to the presence of these terms on every page: Erlang, Lisp, Haskell, Tcl, Python.

This site is firmly grounded in academia, and many participants are associated with programming language research, so more "experimental" or innovative languages are commonly discussed and well regarded. What's interesting about the numbers is that there seems to be a cap, with several languages equal to the maximum. Perhaps it's an error with Google's data - we'll keep an eye on it for future versions of this report.

programming.reddit.com

The data were obtained with a bit of screen scraping and reddit's own search feature.

This site has gained in popularity recently, and often has decent discussions of programming languages and their relative merits. The community is generally curious about up and coming languages like Haskell and Erlang. Of course there are also many people working in industry with languages like Java and PHP.

Slashdot

The data were obtained using Google's search API with the Slashdot web site. We use the allintitle: query option here too, to be fair.

Slashdot reaches a very wide audience, and while it hasn't been quite as popular as more recent arrivals like reddit, it's still a very popular site, and has been around for a while, so is worth including.

About The Languages

Notes, Future Improvements