Puneet Varma (Editor)

Measuring programming language popularity

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

It is difficult to determine which programming languages are most widely used, and what usage means varies by context. One language may occupy the greater number of programmer hours, a different one have more lines of code, a third may utilize the most CPU time, and so on. Some languages are very popular for particular kinds of applications. For example, COBOL is still strong in the corporate data center, often on large mainframes; Fortran in engineering applications; C in embedded applications and operating systems; and other languages are regularly used to write many different kinds of applications.

Contents

Methods

Various methods of measuring language popularity, each subject to a different bias over what is measured, have been proposed:

  • counting the number of times the language name is mentioned in web searches, such as is done by Google Trends
  • counting the number of job advertisements that mention the language
  • the number of books sold that teach or describe the language
  • estimates of the number of existing lines of code written in the language – which may underestimate languages not often found in public searches
  • counts of language references (i.e., to the name of the language) found using a web search engine
  • counting the number of projects in that language on SourceForge, and GitHub
  • counting the number of postings in Usenet newsgroups about the language
  • comparing the number of commits or changed source lines for open source projects on Open Hub
  • Indices

    Several indices have been published:

  • The monthly TIOBE Programming Community Index has been published since 2001, and shows the top 10 languages' popularity graphically, the top 20 languages with a rating and delta, and the top 50 languages' ratings. The numbers are based on searching the Web with certain phrases that include language names and counting the numbers of hits returned.
  • The PYPL PopularitY of Programming Language is a leading indicator based on Google Trends, reflecting the developers' searches for "<programming language> tutorial", instead of what pages are available. It shows the popularity trends since 2004, worldwide or separated for 5 countries.
  • The RedMonk Programming Language Rankings are derived from a correlation of programming traction on GitHub (usage) and Stack Overflow (discussion).
  • The Trendy Skills searches and extracts from popular advertising websites the skills and technologies that employers are looking and classifies skills sought in categories, one of which is the Programming Languages category. It allows the user to see the trends for one or more skills or categories at specified time ranges. Data is also accessible via a public API, so anyone can generate their own statistics.
  • Indeed 2016 survey. Results show that Java is more popular than other languages combined.
  • Stack Overflow's 2016 Developer Survey Results. According to poll JavaScript is used by 55% of developers.
  • Krihelinator.xyz ranks programming languages based on their github contribution rate according to this formula.
  • IEEE Spectrum's 2016 ranking of top programming languages "synthesises 12 metrics from 10 sources to arrive at an overall ranking of language popularity". The various metrics were collected from Github, Google Search and Trends, Twitter, Stack Overflow, Reddit, Hacker News, Career Builder, Dice.com, and IEEE Xplore Digital Library. The interactive ranking app allows adjustment of each metric's weight, and also filtering languages by "type" (Web, Mobile, Enterprise, Embedded).
  • References

    Measuring programming language popularity Wikipedia