Oasist Linguistics

Oasist Linguistics is about linguistics and languages.

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

f:id:oasist:20181213155146j:plain
Programming Languages

Greetings

Hello, this is Oasist.
How is life treating you?

In the last volume, The Population, Dominance and Death Vol.1 -Programming Languages-, we learned the things below.

  1. There are 7,097 living natural languages in the world.
  2. Mandarin Chinese is the most spoken in terms of the number of native speakers, whereas English the most prevailing in terms of that of all speakers.
  3. A natural language can dominate the world because of not just features / assets of the language but political / economic power.
  4. A natural language dies when it has under 2 speakers.
  5. We no more have ways to do social and mental activities when our language dies

We will see what are Programming Languages this time.

Contents

  1. The Number of Programming Languages in the World
  2. Top 10 of the Most Spoken Programming Languages
  3. What Makes a Programming Language Dominant
  4. Death of a Programming Language

1. The Number of Programming Languages in the World

How many programming languages on earth are there in the world?
It is a much deeper question to answer than we expect because it depends on how we decide the range and definition as a programming language.
In fact, CodeLani tells us sources below show different number because each has its own perspective.

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.

Quoted from CodeLani


CodeLani estimates that active general purpose programming languages are between 500 and 2,000 by large.

Yet TIOBE's index seems the most trustworthy because it defines programming languages in the evident criteria which are:

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

Here we would like to conclude that there exists 250 programming languages in the world.

2. Top 10 of the Most Spoken Programming Languages

The next question we might have is "what are the most popular programming languages?".
TIOBE released Top 50 Ranking in 2018. I extracted the Top 10 and added the Usage column to make it easier to recognise what is for what.
* "Usage" column is added to the chart with reference to usersnap, hackr-blog, techpedia and styleguide.

Position Language Rating Usage
1 Java 15.932% Server-side apps, Video games, Android apps etc.
2 C 14.282% Loe-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

f:id:oasist:20181213155657p:plain
TIOBE Programming Community Index

3. What Makes a Programming Language Dominant

According to the Top 10 ranking chart in the previous chapter, Java is the most popular programming language in the programming market.
What makes Java that dominant?
The biggest factor is likely to be Job Demand.

CODING DOJO refers to a measure of popularity in programming languages.

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.

Quoted from CODING DOJO


If the language is on demand, tech people with its skill are all the more precious because system developments are definitely thirsty for them.
Needless to say, engineers would like to be as valuable as possible so they take a lot of pains at acquiring such skills demanded, which gets the programming languages popular.
Java is this dominant, for it is widely used for developments of Server-side apps, Video games, Android apps, which requires a number of Java engineers and people apply to the demand.

Also, when we carry out Google search with tech skill on demand, it absolutely returns Machine Learning and AI on the top result.
BusinessLine informs us of demand for data analytics as follows 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.

Quoted from BusinessLine


Python ranks at the 3rd best in the Top 10 ranking chart in the former chapter because demand for AI and machine learning specialists is growing more and more, the fact of which is reflected on job demand.

4. Death of a Programming Language

Same as natural languages, programming languages also need to be used by people for their changes, developments and evolution.

Codementer define 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.

Quoted from Codementer


It also published Top 20 Ranking of the worst programming languages to learn.
* Please go to the original website for reference to the detailed reasons why each of them is not worth our time any more.
This kind of argument tends to be quite arbitrary and dogmatic and this source also seems so.
But it tries to make evidence as convincing as possible with data based on comparison of community engagement, growth and job market in one with those in the others so that it must be worth a look.

f:id:oasist:20181230122303p:plain
Worst Programming Languages to Learn in 2018 Rankings

Bjarne Stroustrup mentions programming languages as follow.

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

Quoted from Bjarne Stroustrup


The former means they clearly requires committers, developers and users to discuss and execute their update to enhance their values.
Foe instance, 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.

As shown above, Ruby has repeatedly been updated to enhance its value with additional new features, patches on bugs and security issues.
Was it not for committers, developers and users, would it be possible to achieve these?
Of course, the answer is 100% NO!
To accomplish it, programming languages need feedback from users, discussion among committers and developers and actual implementation. Otherwise, they would remain full of bugs, vulnerable to cyber attacks and poorly user-friendly, which means they are already dead.

We have arrived at the conclusion that a programming language dies when it has under 2 people, 1 user and 1 committer / developer.

Conclusion

How do you like this article?
I sincerely hope it provided a chance to think our languages, you enjoyed it and discover something new however trivial it is.
Here is the conclusion of this volume below.

  1. There are 250 living languages in the world, according to the most reliable source TIOBE.
  2. Java has the biggest population of its programmers.
  3. Job demand conditions what programming language is popular or not.
  4. A language dies when it has under 2 people, 1 user and 1 committer / developer.

To cut a long story short, both languages were created by people, developed by people and valued by people.

As I sign off, thank you very much for sparing your time to read my article.
When something interesting comes up to my mind, I will absolutely open my laptop and compose another.

Till then, take care!

Reference