Measuring programming language popularity
It is difficult to determine which programming languages are "most widely used" because the meaning of the term varies by context. One language may occupy the most programmer-hours, another may have the most 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 in the corporate data center, often on large mainframes; Fortran in computational science and engineering; C in embedded applications and operating systems; and other languages for many kinds of applications.
Methods
Various counts have been proposed to indicate a language's popularity, each subject to a different bias over what is measured. These counts include the number of:
- job advertisements that mention the language[1][2]
- times the language is mentioned in web searches, as with Google Trends
- books sold that teach or describe the language[3][4]
- estimates of lines of code written in the language – (which may underestimate languages not often found in public searches[5])
- references to the language found using a web search engine[6]
- projects in the language on SourceForge[7][8] and GitHub[9]
- postings in Usenet newsgroups about the language[10]
- commits or changed source lines for open source projects in the language on Open Hub[11]
- courses on the language sold by programming bootcamps [12]
- students enrolled in programming classes teaching the language around the world [12]
- videos on the language on YouTube [12]
- postings on Reddit or Stack Exchange about the language [12]
Indices
Several indices have been published:
- The monthly TIOBE Programming Community Index has been published since 2001, showing the top 10 languages graphically, the top 20 languages with a rating and delta, and the top 50 languages by rating.[13] 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 index[14] is an indicator based on Google Trends, reflecting the developers' searches for "<programming language> tutorial", instead of what pages are available.[14] It shows the popularity trends since 2004, worldwide or separated for 5 countries.
- The RedMonk Programming Language Rankings[15] are derived from a correlation of programming traction on GitHub (usage) and Stack Overflow (discussion).
- Trendy Skills[16] searches and extracts from popular advertising websites the skills and technologies that employers are seeking and classifies them in categories, one of which is Programming Languages. It displays trends for one or more skills or categories during specified time ranges. Data is also accessible via a public API, so anyone can generate their own statistics.
- Indeed 2016 survey combed through job listings, identifying mentions of programming languages.[17]
- Stack Overflow's 2016 Developer Survey polled site users who gave help to other users.[18]
- IEEE Spectrum's 2016 ranking of top programming languages[19] "synthesises 12 metrics from 10 sources to arrive at an overall ranking of language popularity".[20] 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[21] allows adjustment of each metric's weight, and also filtering languages by "type" (Web, Mobile, Enterprise, Embedded).
References
- "SSL/Computer Weekly IT salary survey: finance boom drives IT job growth". ComputerWeekly.com. September 2007. Retrieved 14 June 2013.
- "Jobs Tractor language trends, based on jobs advertised on Twitter". JobsTractor. Archived from the original on 29 June 2013. Retrieved 14 June 2013.
- O'Reilly, Tim. "Programming Language Trends". O'Reilly Radar. Retrieved 14 June 2013.
- "State of the Computer Book Market 2008, part 4 — The Languages - O'Reilly Radar". Radar.oreilly.com. 25 February 2009. Retrieved 14 March 2017.
- Bieman, J.M.; Murdock, V., Finding code on the World Wide Web: a preliminary investigation, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation, 2001
- "Tiobe Index Definition". TIOBE Software. Retrieved 10 April 2012.
- "Programming Language Usage Graph". Wismuth.com. 31 October 2010. Retrieved 14 March 2017.
- "Trends for the Future". Catb.org. Retrieved 14 March 2017.
- "Language Trends on GitHub · GitHub". github.com. 19 August 2015. Retrieved 14 March 2017.
- "Programming language popularity". Complang.tuwien.ac.at. Retrieved 14 March 2017.
- "Compare Languages". Open Hub. Retrieved 20 January 2017.
- "Which programming languages are most popular (and what does that even mean)?". ZDNet. Retrieved 16 October 2018.
- "TIOBE Programming Community Index". TIOBE Software BV. Retrieved 14 June 2013.
- "PYPL PopularitY of Programming Language index". Pypl.github.io. 22 November 2013. Retrieved 14 March 2017.
- O'Grady, Stephen (19 February 2016). "The RedMonk Programming Language Rankings: January 2016". Redmonk.com. Retrieved 14 March 2017.
- "Trendy Skills". Trendy Skills. 20 January 2012. Retrieved 14 March 2017.
- "The Most Popular Programming Languages of 2016". Blog.newrelic.com. Retrieved 14 March 2017.
- "The 2016 Top Programming Languages". IEEE Spectrum. Retrieved 13 March 2017.
- "IEEE Top Programming Languages: Design, Methods, and Data Sources". IEEE Spectrum. Retrieved 13 March 2017.
- "Interactive: The Top Programming Languages 2016". IEEE Spectrum. Retrieved 13 March 2017.