FrancoisBotha.io
Back

A Universal Programming Language?

June 2016

Why do we not have a single universal programming language? In fact, why does it seem that new computer languages pop into existence at an ever increasing rate?

According to Brookshear et al. (2015), any Turing complete language is as powerful as any other. So if a language cannot be more powerful than another, why do we have different languages? I would say the answer is productivity and quality – We want to be able to write better quality software faster. In his famous work “No Silver Bullet”, Fred Brooks (1987) states that “Surely the most powerful stroke for software productivity, reliability, and simplicity has been the progressive use of high-level languages for programming.”.

The high-level languages Brooks refers to arose as a response to problems presented by Assembly Language. One of these problems is the fact that Assembly Language is “…inherently machine dependent…”, according to Brookshear et al. (2015). That being said, assembly language is still very popular many decades after the use of third generational languages have become prevalent. In fact, according to the TIOBE Index the 10th most popular programming language for July 2016 is still Assembly Language.

The ranking methodology of TIOBE places Java as the most popular programming language. According to their web site (java.com/en/about/), Java runs on 3 Billion mobile phones, 97% of Enterprise Desktop applicaitons, billions of sim cards and millions of TVs. There are about 9 million Java developers worldwide.

Similar in name to Java (and very little else), JavaScript(also known as ECMAScript) was created by Brendan Eich in 1995. According to Douglas Crockford (2011), JavaScript contains many weaknesses, but also contains some “…seriously good ideas behind it.”: According to Crockford, JavaScript is “…the first Lambda language to go mainstream”. Other goods ideas include object literals, dynamic objects and first class functions.

A recent study by Sanatinia and Noubir (2016) analysed data from GitHub to draw inference as to the most widely used and popular programming languages in use today. According to them Github is ‘’…the most widely used social code hosting platform…” with more than 10 million registered users and over 16 million code repositories. They found that both in terms of popularity and the number of hosted repositories, the most popular programming language is JavaScript.

This makes a lot of sense if you consider that JavaScript is the language of the web: the only language that is natively understood by all browsers. In addition to its prevalence in browsers you will find Javascript in mobile devices (Hybrid Mobile apps running on Android, iOS and Windows devices), in databases (MongoDB and other NoSQL databases), on the server (Node.js) and on a myriad of other devices (IoT).

Maybe JavaScript is the closest thing to a universal programming language we have?

References

Brooks F.P., (1987), ‘No Silver Bullet: Essence and Accidents of Software Engineering’, Computer, 20, 4, p. 10, EBSCOhost, viewed 31 July 2016.

Brookshear J.G., Brylow D, Smith D.T., (2015), Computer Science: An Overview (12th Edition). Pearson Education Inc., Upper Saddle River, NJ, USA.

Crockford, D., (2011), JavaScript: The Good Parts. Available At: https://www.youtube.com/watch?v=_DKkVvOt6dk&index=4&list=PL62E185BB8577B63D (Accessed: 13 January 2013)

Sanatinia, A, & Noubir, G, (2016), ‘On GitHub’s Programming Languages’, arXiv, EBSCOhost, viewed 31 July 2016.

TIOBE Index for July 2016, Available At: http://www.tiobe.com/tiobe-index/, (Accessed 31 July 2016)