Practical Software Estimation Measurement

Top 25 Programming Languages Visualized

Top 25 Programming Languages

Since I began working with SLIM-Metrics and the QSM historical database, I've been interested in unique ways to present information.  I've written before about how others pair data and design to visualize patterns, but this is my first attempt: a word cloud.  

A word cloud is a graphical representation of how often a word is used within a sample.  The larger the font in the word cloud, the more often it is used in the sample.  Word clouds are a great tool for displaying sensitive data without having to use numbers.  The above word cloud visualizes the entire QSM database, going back three decades.

What I like about this visualization is that at a glance, you can tell that more projects use PL/1 than Natural, simply by examining font size.  Even without knowing exactly how many Java projects are in the QSM database, you can still determine that it's more than Visual Basic, but less than COBOL. 

Unsurprisingly, COBOL still has a large market share in the QSM database.  Most COBOL projects completed after 2000 were maintenance projects, not new development. 

In an article on Gizmodo, two researchers, Leo Meyrovic and Ari Rabkin, have tried to determine why some programming languages live and why others die.  One of their theories is that after programmers reach a certain age, "they're often moving from hands on coding to managing other programmers.  At that point, there's little motivation to learn and implement new languages." Commenter skt.smth also points out that, "Programmers are utilitarian and pragmatic at heart.  If there were a better way, they'd find it, and they'd make full use of it."  Essentially, older languages are still being used to code because programmers haven't found a better way yet.  Another explanation is that many organizations are maintaining legacy applications, which in turn means that older programming languages have a longer shelf life.

Most of the languages in the word cloud were familiar to me, except for JOVIAL, which is used for military embedded systems for aircrafts .  After some research, JOVIAL first pops up in the QSM database in 1974 and appears off and on until 2001.  It's interesting that a language that hasn't been used in any projects in the QSM database for 11 years still has some staying power in the top 25.

Another interesting point is that most of the projects represented in the word cloud are mixed languages, that is, very few projects in the database are purely developed in one language.  Out of the whole QSM database, 45% are mixed, 36% are single language, and 18% of projects did not have a  language documented.

Language Documentation

What are some ways you have paired data and design?  What languages would you have expected to be in the top 25?

Blog Post Categories 
SLIM-Metrics Languages QSM Database