Most of you have noticed that programming language names tend to fall in several different themes. Here is an attempt to catalogue them.
Languages may be placed in more than one category of appropriate; we will not suffer the LimitsOfHierarchies here. Different versions, such as Fortran77 vs Fortran90, and vendor-specific versions, such as VisualFoo?, are valid naming patterns, but aren't very interesting, so they're not being named here.
Acronyms, Abbreviations, and BackroNyms (see AcronymVsAbbreviation):
- ALGOL (ALGOrithmic Language)
- APL (A Programming Language, see AplLanguage)
- BASIC (BasicLanguage -- Beginner's All-purpose Symbolic Instruction Code, early JargonFile entries incorrectly consider this a BackroNym)
- BCPL (BcplLanguage -- Basic Combined Programming Language)
- BLISS (BlissLanguage -- Basic/Bill's Language for Implementation of System Software)
- CAML (Categorical Abstract Machine Language)ObjectiveCaml
- COBOL (CobolLanguage -- COmmon Business Oriented Language)
- CPL (CplLanguage -- Combined, or Christopher's depending on who you believe, Programming Language)
- DYLAN (DylanLanguage -- DYnamic LANguage)
- FORTRAN (FortranLanguage -- FORmula TRANslator)
- IAL (International Algorithmic Language, the original 1958 name of ALGOL)
- INTERCAL (Compiler Language With No Pronounceable Acronym, see InterCal)
- LISP (LISt Processor, see LispLanguage)
- ML (Meta Language, see MlLanguage)
- MUMPS (Massachusets General Hospital Utility Multiprogramming System)
- PHP (PHP Hypertext Preprocessor, was Personal Home Page (Tools), see PhpLanguage). Briefly "FI" (Forms Interpreter), then "Personal Home Page Construction Kit", then "PHP/FI", then "PHP" with its current expansion.
- PL/B (Programming Language for Business, see PlbLanguage)
- PL/I (Programming Language One [I], see PliLanguage)
- PL/M (Programming Language for Microcomputers)
- Prolog (PROgrammation en LOGique)
- REBOL (Relative Expression Based Object Language)
- RPG (RpgLanguage -- Report Program Generator)
- SAL (SQLWindows Application Language)
- SEQUEL (Structured English QUEry Language, the original name of SQL before another SEQUEL language was noticed)
- SETL (SET-oriented Language)
- Simula (SIMUlation LAnguage)
- Sisal (Streams and Iteration in a Single Assignment Language)
- SNOBOL (StriNg-Oriented symBOlic Language, possibly a Backronym, see SnobolLanguage)
- SQL (StructuredQueryLanguage)
- TCL (ToolCommandLanguage)
- TRAC (Text Reckoning And Compiling)
- WSFN (Which Stands For Nothing -- ever heard of this one?)
- YACC (Yet Another Compiler Compiler; the standard Unix parser generator)
People:
Please make sure you group people based on how it influenced the pattern of naming a language, not necessarily just because people fall into different groups.
MathematiciansWhoHaveLeft:
Mathematicians Who Had/Have Not Left:
- BackusLanguage?? (Does this exist; I've seen references to it -- It probably refers to the functional language described in John Backus' 1977 Turing Award Lecture "Can Programming Be liberated from the von Neuman Style? A Functional Style and Its Algrebra of Programs")
Initials of the implementor or designer:
Other; includes only real persons and not characters in literature. (Brenda moved elsewhere):
- Eiffel (EiffelLanguage, after Gustave Eiffel, the guy who designed the tower. It's not named after the tower.)
- Handel-C (HandelCeeLanguage)
- HugoLanguage for InteractiveFiction (Gernsback or Victor??)
- Linda (LindaLanguage, a parallel programming language, after then porn star, now anti-porn activist Linda Lovelace. No, really, see LindaEtymology.)
- Mozart (MozartProgrammingSystem). Not really a language, a development system for OzLanguage.
- OccamLanguage (named after WilliamOfOccam, who was so impressed with his razor that he bought the company)
- Orwell (teaching language at the UniversityOfOxford?, very similar to HaskellLanguage).
Names derived from earlier languages:
- BCPL (derived from CPL)
- B (derived from BCPL, first letter in acronym. Superseded by....)
- C (CeeLanguage, derived from BCPL, second letter in acronym (or more obviously, next letter in alphabet). Which spawned...)
- C++ (CeePlusPlus, derived from C (there was debate as to whether this should be called D or P))
- C# (CsharpLanguage, derived from C++ (and Java really))
- Objective C (ObjectiveCee, derived from C with some Smalltalk mixed in)
- D (DeeLanguage Next letter after C)
- O'Caml (ObjectiveCaml, from CAML)
- GJ (GenericJava, from JavaLanguage)
- JavaScript (from JavaLanguage. Not that JavaScript actually has anything to do with Java, but the Netscape marketing department wanted to attach some of the glamour that Java then had to their new language, Mocha)
- Kava etc (modified versions of Java)
- NIL (New Implementation (of) Lisp) -- (not so new anymore, predates CommonLisp, but that was the backronym)
- M (rename of MUMPS in the early 1990s)
- T (another Lisp dialect that came after NIL--T and NIL are also the canonical true/false values in Lisp)
- StrongTalk (trivial modification of SmalltalkLanguage)
- FoxPro (from FoxBase? from the AshtonTate? DBase implementations)
- Sheep (a descendant of ALAM)
- Ruby (RubyLanguage, inspired by perl)
- R (ArrLanguage, from S/EssLanguage)
- Clean (originally a subset of a language called Lean)
- Sather (tower at the University of Berkeley, parody on Eiffel which is named after the engineer not the tower)
- CoffeeScript, adding syntactic sugar to JavaScript
- The Scheme family has names related to planning, and later trickery:
Names derived from the organization sponsoring development:
Food and beverage:
Pop culture:
- Frink (FrinkLanguage, named after Professor Frink in the Simpsons)
- Python (PythonLanguage, from MontyPython)
- Brenda. (A subset of Dylan, written in Dylan. Used as a programming assignment in the CornellUniversity? data structures course around the same time BeverlyHills90210 was popular.)
- Var'aq (A true warrior's language. A semi-serious consideration of what type of programming language the Klingon culture would create. http://www.geocities.com/connorbd/varaq/varaqfaq.html)
Self-descriptive names:
Precious objects:
- Perl (Its name actually was "Pearl" for a short time, until Larry saw a reference to a graphics language called "pearl", plus 4 letters are better than 5.) (There was a Lisp-based language called Pearl too). As a side note, PerlIsNotAnAcronym.
- Ruby
- Emerald
- Garnet
- Crystal
History and mythology:
- Delphi
- Io (also a pun on Input/Output - a quirky mix of pure functional continuations and "events")
- MercuryLanguage
Literature:
- Oberon (from the king of the fairies in Shakespeare's "Midsummer Night's Dream")
- Miranda (from a character in Shakespeare's "Tempest"; it's also the Latin for "admirable")
- OzLanguage (from The Wizard of Oz)
- AliceLanguage (from Through The Looking Glass)
- NemerleLanguage (after the archmage Nemmerle from Ursula K. Le Guin's A Wizard of Earthsea (apparently, spelling it with a single 'm' is a 'design decision'))
- MalbolgeLanguage. From DantesInferno?. According to the documentation: "Malbolge" is the name of Dante's Eighth Circle of Hell, in which practitioners of deception (seducers, flatterers, simonists, thieves, hypocrites, and so on) spend eternity.
- SmeQl :-) (from Lord of the Rings. Actually a combination of acronym and literature.)
Artificially shortened names:
- Scheme (from "Schemer", following on from "Planner" and "Conniver"; shortened to fit in 6 characters because ofa limitation of the ITS operating system)
- Perl (from "Pearl", the precious stone; shortened to avoid a clash with "some obscure graphics language called Pearl")
- Forth (from "Fourth", because its creator considered Forth a "fourth-generation language"; shortened to fit into 5 characters because of a limitation on the IBM 1130)
Astronomical Bodies:
- Lua (Portuguese for "moon")
- Oberon (also the name of a moon of Uranus).
Not sure how to classify:
- Htag
- Rexx (originally just "Rex" because the author liked how it sounded; the extra "x" was added to avoid collisions with other products' names)
- SmalltalkLanguage '... a language I now called "Smalltalk"--as in "programming should be a matter of ..." and "children should program in ...". The name was also a reaction against the "IndoEuropean? god theory" where systems were named Zeus, Odin, and Thor, and hardly did anything. I figured that "Smalltalk" was so innocuous a label that if it ever did anything nice people would be pleasantly surprised.' http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html
Emotions:
Letters of the alphabet (along with punctuation):
Words so short or common that they are little help in narrowing a search engine query (there's no excuse for this in a language named after 2000):
"Script" suffix:
- ApeScript? (for Noble Ape Simulation, http://www.nobleape.com; "the best landscape-orientated ape-brain simulator for Mac OS X." - review on VersionTracker?)
- AppleScript (Apple's little-understood (but still chugging away) dynamic scripting language -- first language with interchangeable syntaxes, including Japanese Kanji dialect!)
- NewtonScript (Apple's other little-understood language - a PrototypeBasedLanguage)
- PostScript
- SimScript? (simulation language)
- Telescript (General Magic (RIP)'s network programming language -- based on PostScript)
- JavaScript (Nee LiveScript)
- ClojureScript? (Clojure compiled to JavaScript)
"Talk" suffix (these names all followed
SmallTalk's example):
# / .NET suffix:
- C#
- VB.NET
- (Visual) J#
- F# (see above under single-letter names)
- X# (then codenamed Xen and now X Omega)
Critters:
- FoxPro
- Sheep
- CAML (CamlLanguage?)
- Lynx (an experimental concurrent language, not the text-only Web browser. OK, it's a corruption of "links")
- PythonLanguage (also for MontyPython, has used the snake in its logos)
Trees:
- Cedar
- Jacaranda (unfinished design for a subset of JavaScript)
- Maple
- Oak (old name of JavaLanguage before it became Java)
- Elm
Puns and "Geek" jokes:
- C++ (post-increment of C)
- C-- (post-decrement of C; a smaller version of C intended as a sort of portable assembly, see http://www.cminusminus.org/)
- T (a Lisp dialect that came after NIL -- T and NIL are also the canonical true/false values in Lisp)
- INTERCAL (Compiler Language With No Pronounceable Acronym, see InterCal)
- Clojure (sounds like "closure" but spelled with a "j" for Java)
-BOL languages, following the lead of COBOL:
- COBOL (CobolLanguage)
- SNOBOL
- SPITBOL
- Rebol (a modern language)
- DiBOL (Digital Interactive Business Oriented Language)
- Unibol (from DiBOL)
- Slobol (fictional)
ummm... logo, ABC, agile, mumps, chill,
squeak, befunge, blue, dylan, godiva, icon,
lua, m4, moo, teco
http://en2.wikipedia.org/wiki/Talk:Programming_language
See also: FutureOpenSourceToolNames
CategoryProgrammingLanguage CategoryWhimsy