Naming and Programming Languages
In our four-part special on giving names to programming languages, we take a look at the partly strange names that computer scientists and mathematicians have given their formal languages.
Creativity in Naming
Names for programming languages far exceed unimaginative letter combinations and are full of references to pop-culture, homages to famous role models and insider jokes. A fascinating variety of names awaits the connoisseur!
However, even in the jungle of names for programming languages, query languages and script languages, one can find some categories into which most names can be classified. Some languages do not follow any specific naming convention - here developers have absolute freedom of choice regarding the name of their baby.
Popular naming method: acronyms
Examples of programming languages that carry an acronym as their name are FORTRAN (Formula Translator) or LISP (List Processor). Relatives of these languages, however, do not always adhere to the acronym convention. So, a language inspired by FORTRAN is named "Fortress" to underline the increased focus on security.
Clever abbreviations: apronyms
Especially popular with the use of abbreviations is the subclass of apronyms, i.e. acronyms that form an already existing word. Examples of this are classics such as BASIC (Beginner's All-purpose Symbolic Instruction Code) or SEQUEL (Structured English Query Language), a predecessor of SQL.
Programming concept included in a name: recursive acronyms
When dealing with programming languages one can often find recursive acronyms, a naming technique seldom found in other areas. Recursion is a concept that one often comes across in information technology, in which the definition of a function contains the function itself. Using recursion mostly leads to elegant solutions for problems. So it is no wonder that recursive acronyms are a popular naming method for programming languages. The name of the query language SPARQL is, for example, a recursive acronym for SPARQL Protocol And RDF Query Language.
This new interpretation of an acronym is named backronym, which is a portmanteau word of "back" and "acronym". The new meaning of PHP is recursive since a part of the name defines itself. A doubly clever name for a scripting language!
In the next part of our special on the naming of programming languages we are going to deal with a method that is especially popular in the IT sector: the use of single letters and other graphemes for naming products.
The programming language family C and its names
Even though a not so well-known successor of C is simply known as D, the names of most C-dialects are a modified spelling of their forefather. To keep the numerous dialects under control, regular standardizations of the language are set and named by their respective dates:
So we have C89, C95, C99 and also the somewhat uncommonly named ISO-C. Objective-C on the other hand simply got its name because it incorporates the concept of object-orientation.
Even more C-descendants, even more names
Likewise, the language C# (read: C-sharp) is widespread. It got its name from music: a sharp (or dlèse) indicates that a note is increased by a semitone. So, C# stands for an increased version of C. Other sources assume that the sharp symbol is to denote a double increment of C.
The alphabet has 25 more letters...
To which writing system do you suppose one will switch when all 26 graphemes of our alphabet are used up? Chinese would be a good candidate: it has more than ten thousand graphemes...
In the next part of our special on the naming of programming languages we will show that many computer scientists are actually fans who idolize their stars and the things they hold dear. We will look into the procedure of naming programming languages after famous people (and objects from the world).
Programming languages and mathematicians
The most well-known example of this practice of naming in the honor of famous personalities probably is the French scholar Blaise Pascal. A whole family of programming languages inherits his last name. This leads to peculiar names such as TurboPascal or ObjectPascal.
Further prominent people whose names were given to programming languages are Haskell Curry, Kurt Gödel, and Alan Turing. In these cases, however, the languages did not make it to such world fame as the Pascal dialects.
Namesake Lovelace: programmer or porn star?
The background of another lady named Lovelace, who also lent her name to a programming language, is less glorious: the language "Linda" has the dubious honor of being an homage to the porn actress Linda Lovelace. Which Lovelace do you prefer?
Even more indecent names...
Much more harmless than the past examples are the names of languages that refer to simple objects and concepts from our world: trees (Oak, Maple, Cedar), precious stones (Ruby, Perl) or emotions (Bliss, Joy, Hope) are categories that are happily used for the naming of formal languages. With these languages, images of nature and open landscapes come to mind, while the programmer is developing in a dusty cellar room...
A name for a programming language? Everything's allowed!
A programming language that goes by the name Nemerle refers to an archimage from the Earthsea-series of books by Ursula K. LeGuin. The magician's name is spelled with -mm- in the original. However, to better be able to distinguish magician and language, the spelling was changed for the programming language.
Java is not only an island...
Java should not be confused with JavaScript. The latter is a scripting language that used to be called LiveScript. Its name was changed solely for marketing purposes. Apart from the name, it does not have much in common with Java.
How would the Klingons program?
Last but not least, around the turn of the millennium, the strange language of var'a'q was being developed: It was a thought experiment that explored what a programming language of the fictional race of the Klingons from Star Trek would look like. To this end, var'a'q was developed.
However, its name has no meaning in Klingon, although the fictional language would be sophisticated enough to make up a name. The inventors say one should assume that var'a'q was named after a Klingon mathematician - which would be in tradition with names of languages such as Pascal, Turing or Ada.
Which is your favorite name for a programming language? Do you find an interesting story or concept behind the name more important (like brainf**k), or should naming be purely logical (like with C and its relatives)?
Picture credits::
Python-Logo: License: GNU General Public License version 2, Source: Wikipedia
Blaise Pascal: License: Public Domain (Copyright expired), Source: Wikipedia
Ada Lovelace: License: Public Domain, Urheber: www.fathom.com, Source: Wikipedia
Ruby-Logo: License: Creative Commons Attribution-Share Alike 2.5 Generic, Author: Yukihiro Matsumoto, Ruby Visual Identity Team, Source: Wikipedia
C cover: License: Public Domain, Source: Wikipedia
C#: License: Public Domain, Author: Allmightyduck, Source: Wikipedia
Fortran: License: Public Domain, Author: Muhandis, Source: Wikipedia
PHP: License: Public Domain, Author: Mysid, Source: Wikipedia
Ada Lovelace: License: Public Domain, Photographer: www.fathom.com, Source: Wikipedia