The Programming Languages Beacon

v16 - March 2016

This table contains a list of major software products or utilities, with details about the programming languages used to implement them. Information on this is difficult to find, and a few small mistakes might have escaped the author's attention. Corrections, suggestions for additions or even references are welcome. The list is not supposed to be exhaustive but the most significant products are tentatively listed. The order of the products in each family obeys no specific rule, the reader should not understand it as a ranking.

The main programming language, the one with which most of new developments are done, is highlighted, while the ones used in older times and still present, or used only for a minority of the developments are indicated too. The pieces of software listed are usually very large, and the list of programming languages cannot be exhaustive. Miscellaneous languages are not mentioned. Sometimes, there are different products under the same line (eg "Games"), or different implementations of a single line (eg JVM implementations). In this case, the overwhelming trend is indicated. Miscellaneous counter examples are ignored.

Some readers believe that most of the applications presented are based on old code, and that the technologies in use reflect the trends of the time. As it is an erroneous belief, some introduction dates are mentioned, like here, or here to show that what is "new" or "old" technology does not necessarily correspond to intuition.



The difference between C and C++ is a bit artificial, as it is always possible to argue that most of C code is C++ code, or conversely (as more than a few people use C++ more or less like C). The approximation made in this document tries to correspond to intuition.

indicates the major programming language for current evolutions.

refers to a technology which is present, but is either stable or decreasing.

means that the product has died, and when it died, it used that technology

is meant to show an evolution towards the column it points to.



When the arrow is alone, it means that the amount of code corresponding to the technology in this column is either now null or negligible, having evolved in the direction of the arrow.

The readers who might find the content of this page paradoxical will find a tentative explanation of the phenomenons at stake here. Read the section entitled "Time will come when computers will be fast enough".



11,425 visits to this page on the 12th of April 2012 over 24h, record beaten!

Release notes:

5th of March 2016, v16: fixed a lot of entries.

17th of September 2015, v14: added NoSQL databases.

13th of December 2013, v13: normalized version numbers (now year number). Fixed gcc.

25th of January 2013, v11.1: Symbian declared dead.

20th of January 2013, v11: updated amazon, added Evernote, LinkedIn, DropBox.

21st of April 2012, v10.8: updated the SAP section.

14th of April 2012, v10.7: following overwhelming feedback, reverting gcc to C. Also added Java on Android OS, and renamed Open Office.

10th of April 2012, v10.6: added a note for C# implementation, with a reference to project Roslyn. Updated also Visual Studio technology to add C#. Thanks Hrvoje.

6th of April 2012, v10.5: changed gcc from C to C++, added youtube on Python

24th of November 2010, v10.4: fixed Perl line (C and not C++), added termination of Google Wave

14th of July 2010, v10.3: added info on iPad OS, iPod Touch OS in addition to iPhone OS. Added info on Eclipse RCP

5th of March 2010, v10.2: added PayPal entry

8th of February 2010, v10.1: added reference to HipHop in the facebook entry

2nd of January 2010, v10.0: added Pike to Opera Mini. Changed release numbering to year.release

15th of November 2009, v3.9: added Google Wave, Apple iPhone OS and Amazon Kindle OS entries.

15th of August 2009, v3.8: added a universal remotes section.

9th of July 2009, v3.7: added Google Chrome OS.

17th of May 2009, v3.6: update the Lotus Notes entry.

11th of May 2009, v3.5: updated the Compilers/Interpreters section (thanks, Northwood).

14th of April 2009, v3.4: added facebook.

1st of April 2009, v3.3: page is now color blind friendly.

8th of September 2008, v3.2: added Google Chrome.

4th of July 2008, v3.0: fixed BlackBerry OS info.

22nd of November 2007, v2.9: added Google Android.

21st of October 2007, v2.8: added a mail servers section.

This page is maintained by Vincent Lextrait (e-mail vincent@lextrait.com)