Following on from this question, I am interested in finding out how you could measure the popularity of any and all programming languages.
As professional developers, we need to be aware of the trends in the software industry – what languages will employers be looking for in the coming few years, and we should be proficient in. Also, it can allow us to spot opportunities – perhaps there are opportunities for new developers to branch out into mainframe programming as older members of the profession retire. For this reason, it is important for us to track programming language popularity.
There are number of questions already on Stack Overflow (here and here) about how SO could be used to measure a language’s popularity (or the difficulty in using said language). Other methods include tracking job adverts (i.e. http://www.hotskills.net/) and search engine query statistics (i.e. http://langpop.com/).
Can the SO community think of any other methods of measuring this?
Summary
- Use Stack Overflow tags to measure language popularity
- Search Engine query statistics
- Job adverts
- Open Source code repositories
As noted by various contributors below, each of the above sources has problems as a reference to calculate language popularity/usage.
As the author of http://www.langpop.com my approach is to find as many metrics as possible (certainly not limited to just search engine results! We have books, job listings, irc, google code, freshmeat and others) and let people see the methodology, making the whole thing as transparent as possible. That’s why I added the javascript feature that lets you recalculate the normalized results with different weights for each metric.
As someone else notes, there are many different ways of measuring popularity. Another important one that he doesn’t mention might be the “acceleration” of a given language: for instance, Cobol has a big installed base, but I don’t think a lot of new Cobol projects are being started. Something like Ruby is probably the opposite – it’s not widely used, but a lot of people are picking it up for new projects.
I disagree with the conclusion that the numbers are “meaningless”, though. By looking at the different measurements and thinking about them some, I think there are plenty of interesting conclusions to be drawn. Also, don’t confuse “rough” numbers with “useless” numbers. I think we can definitely say that Java is more popular than Tcl, for instance.