November 20, 2017 — ~7,099 spoken languages exist. But how many programming languages exist?
This is one of the questions I aim to answer with PLDB. I am building a comprehensive database of programming languages.
The number of programming languages in the world depends on the rules you establish for deciding whether or not a language counts.
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 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, a 90's era online dictionary of computing, lists over 1,000 programming languages, though that includes aliases.
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 is a collection curated by Diarmuid Pigott. It lists 8,945 programming languages!
At the moment I am closely tracking hundreds of programming languages with thousands more in my periphery. Until I have a more comprehensive database across all the languages I track, I'll have to make some estimates.
My current estimate for active general purpose programming languages is between 500 and 2,000.
My current estimate for all active computer languages is between 5,000 and 25,000.
As my database improves I will refine my definitions and estimates accordingly.
A hard count of programming languages was made by querying the PLDB database, which consists of thousands of human-checked facts about programming languages. Confidence intervals were added ad hoc through spot checking with the reference lists above.