Practical Software Estimation Measurement

Top Programming Languages Revisited

Mike Harris at the Davis Consulting Group blog links to a 2014 list of 11 Essential Programming Languages from Baseline Magazine:

If you want to learn about the hottest programming languages today, don't miss this list from IEEE Spectrum. This respected organization, which has 400,000 members and is considered the world's largest association of technology professionals, enlisted the services of Nick Diakopoulos, a well-known computational journalist and assistant professor at the University of Maryland, to compile the language rankings. Diakopoulos proceeded by weighing and combining 12 metrics from 10 sources, including IEEE Xplore, Google and GitHub. The result is a compilation of languages that cover big data analytics, graphics, system administration, network programming and virtually every other tech-supported function.

IEEE’s interactive list, which you can explore here, generates customized rankings for various sectors (Web, embedded, enterprise). In evaluating the results, it makes sense to ask, “What makes a programming language, ‘essential’?” Language popularity can be measured several ways:

  • Number of search engine queries
  • Posts on message boards and blogs
  • Employer demand (job openings)
  • Actual use on completed projects that are put into production

The first three characteristics were used in the IEEE language rankings.  They reflect both general interest and demand for skilled programmers – definitely relevant factors for any ranking system!  But actual usage on real projects is also important.

Here at QSM, we like the last factor in the bulleted list: how many times is each language listed as the Primary Language (the one with the highest % of total) in our industry database of completed software projects?  This metric gets at a different aspect of language popularity: frequency of use on real projects of different kinds: new development, maintenance, major and minor enhancements, etc.  What we’ve seen in our industry data is that new development is more likely to leverage the latest technologies, while maintaining existing applications keeps demand for older languages like COBOL going strong.  What’s new or trending can help predict future developments in the industry. Frequency of use tells us which languages companies rely on now; and because today’s new systems are tomorrow’s legacy systems, may tell us something about the longevity of today’s leading technologies.

A while back, QSM’s Katie Costantini compiled a list of the Top 25 Programming Languages for recently completed projects. Java, the C variants (C, C++, C#), Impromptu, COBOL, COGNOS, and ABAP all figured prominently: 

Top 25 Programming Languages

An earlier post looked at changes to the market share (relative popularity) of programming languages over time.  We decided to take a quick look at the pool of data gathered for our upcoming QSM database and trend line update. Our preliminary top 20 programming languages list (we’re not done collecting data yet!) from most- to least-used, appears below:

  1. JAVA
  2. C++
  3. .NET
  4. ABAP
  5. COBOL
  6. PL/1
  7. ORACLE
  8. C
  9. ASP
  10. C#
  11. LOTUS NOTES
  12. MENDIX
  13. PL/SQL
  14. BASIC
  15. DATASTAGE
  16. HTML
  17. SQL
  18. POWERCENTER
  19. VISUAL BASIC
  20. POWERBUILDER

Java is still at the top of our newest list, and C++/C#/C, ABAP, and PL/1 have all moved up in the rankings, making the top 10. New to our listings are technologies like Mendix, PowerCenter, Powerbuilder, and DataStage. Some of these (PowerCenter, DataStage) are really ETL tools that rely on other languages; a reflection of often blurred lines between popular technologies/tools and programming/scripting languages.  We’ll keep you posted as we continue to collect data!

Blog Post Categories 
Languages QSM Database