Oasist Blog

Deliver posts regarding linguistics, engineering and life at my will.

The Population, Dominance and Death Vol.2 - Programming Languages -

Programming Languages


1. The Number of Programming Languages in the World

How many programming languages exist in the world?
The answer depends on the definition of them.
In fact, CodeLani says that each source shows different numbers.

TIOBE - 250
The TIOBE index is one of the best lists of popular programming languages and monitors ~250 popular programming languages.
TIOBE tracks a programming language if it passes 3 tests: it must have its own Wikipedia page, it must be Turing complete, and a Google search for it must return over 5,000 search results.

Wikipedia - 700
Wikipedia has a list whose goal is to include “all notable programming languages in existence”, that currently lists over 700 programming languages.
Wikipedia’s list excludes certain types of languages such as markup languages.

FOLDOC - 1,000
FOLDOC, a 90’s era online dictionary of computing, lists over 1,000 programming languages, though that includes aliases.

The Language List - 2,500
The Language List–started in 1991–tracks ~2,500 computer languages.
The Language List includes popular languages as well as many “published languages”.
If a language was published in a journal it may be on the list, regardless of its implementation history or popularity.

HOPL - 8,945
HOPL is a collection curated by Diarmuid Pigott.
It lists 8,945 programming languages!

J.E. Sammet - ~165(In 1971)
Jean Sammet was an early computer pioneer, helping developer the COBOL language.
She also was one of the first to start tracking programming languages and as early as 1971 tracked ~165 languages.

Source: CodeLani

CodeLani estimates that the number of general purpose programming languages is between 500 and 2,000 by large.
On the other hand, TIOBE's index seems to show the most trustworthy number 250, based on the following definite criteria.

  • Having its own Wikipedia - Popular enough to win citizenship
  • Being Turing complete - Computers can process the codes
  • Returning over 5,000 search results in Google search - Enough reference

2. The Most Popular Programming Language

TIOBE released Top 50 Ranking in 2018.
Here is the top 10 of the 50.

Position Language Rating Usage*1
1 Java 15.932% Server-side apps, Video games, Android apps etc.
2 C 14.282% Low-level apps, Firmware of TVs, OS of Windows and airplanes etc.
3 Python 8.376% Web apps, Data analysis etc.
4 C++ 7.562% OS, Browsers, Banking apps, Cloud/Distributed systems, Embedded systems, Telephone switches etc.
5 Visual Basic .NET 7.127% Development of consoles, GUIs, Windows forms, Web services, Web apps
6 C# 3.455% Microsoft apps etc.
7 JavaScript 3.963% Interactive elements to and from websites etc.
8 PHP 2.442% Data-heavy websites, apps development, WordPress, Facebook etc.
9 SQL 2.184% Interaction with sweet data etc.
10 Objective-C 1.477% Apps on OS X and iOS

TIOBE Programming Community Index

Java obviously won No.1 as it is used in various fields of developments.
As a small note, some engineer insists that Java is appropriate for larger scale, Ruby for start-up.
So the rating might depend on the fields of development and scale of services.

3. Job demands and Programming Languages

Job demands have huge influences on the popularity of the programming languages.
CODING DOJO refers to what makes them popular.

There are many ways to measure a programming language’s popularity, but we believe examining job demand is most useful because it shows developers the skills to learn to improve their career prospects. Source: CODING DOJO

Java is widely used for developments of Server-side apps, Video games, Android apps and more people would like to master it in the hope that they obtain a better work environment.

When engineers carry out Google search with "tech skill on demand", it absolutely returns "Machine Learning" and "AI" on the top result.
BusinessLine mentions high demands for data analytics with the title 50,000 open data analytics jobs currently expected to double to 100,000 in 2018.

“We expect a 60% increase in demand for AI and machine learning specialists in 2018,” said BN Thammaiah, Managing Director at Kelly Services India. Source: BusinessLine

Python ranks at the 3rd best in the Top 10 ranking chart because demand for AI and machine learning specialists is growing more and more, which suggests job demands determine how popular the programming language is.

4. Death of a Programming Language

Codementer defines valueless programming languages as follows.

Be it because nobody is using it, nobody is hiring for it, or nobody is talking about it — based on the level of community engagement, the job market, and overall growth — some languages just aren’t worth your time anymore. Source: Codementer

Here is Top 20 Ranking of the worst programming languages to learn.

Worst Programming Languages to Learn in 2018 Rankings

Bjarne Stroustrup mentions programming languages as follows.

There are only two kinds of languages: the ones people complain about and the ones nobody uses. Source: Bjarne Stroustrup

The quote above suggests that they need committers, developers and users to enhance the quality and value of programming languages.
For example, Ruby released as many as 12 versions in 2018 according to Ruby Releases.

Release Version Release Date Note, Features
Ruby 2.6.0-rc1 2018-12-07 [Page Not Found]
Ruby 2.6.0-preview3 2018-11-06 JIT(Just-in-time) compiler, RubyVM::AST, A new alias, Endless range etc.
Ruby 2.5.3 2018-10-18 Complements of some missing files in the release packages of 2.5.2
Ruby 2.5.2 2018-10-17 Some bug fixes and some security fixes
Ruby 2.4.5 2018-10-17 About 40 bug fixes after the previous release, and also includes several security fixes.
Ruby 2.3.8 2018-10-17 Several security fixes
Ruby 2.6.0-preview2 2018-05-31 JIT(Just-in-time) compiler, RubyVM::AST, A new alias, Endless range etc.
Ruby 2.5.1 2018-03-28 Some bug fixes and some security fixes
Ruby 2.4.4 2018-03-28 Some bug fixes and some security fixes
Ruby 2.3.7 2018-03-28 70 bug fixes after the previous release, and also includes several security fixes
Ruby 2.2.10 2018-03-28 Several security fixes
Ruby 2.6.0-preview1 2018-02-24 rescue/else/ensure inside do/end blocks, yield_self etc.

Ruby has been updated repeatedly to add new features, patch bugs and fix security issues.
Otherwise, programming languages are full of bugs, vulnerable to cyber attacks and poorly user-friendly.
Such programming languages are dead.

5. Conclusion

  1. The Number of Programming Languages in the World: 250 according to TIOBE
  2. The Most Popular Programming Languages: Java
  3. Job demands and Programming Languages: Job demands decide how popular the programming language is.
  4. The Factor of Death of a Natural Language: Poor maintenance and commitment by users, committers and developers

6. Notes

7. Reference