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)
- 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)
- PHP (PHP Hypertext Preprocessor, was Pretty Home Pages, see PhpLanguage)
- 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)
- 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)
- 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 have not left:
- BackusLanguage?? (Does this exist; I've seen references to it)
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)
- T (another Lisp dialect that came after NIL--T and NIL are also the canonical true/false values in Lisp)
- Scheme (6-character shortening of "Schemer"; an earlier language designed by the same group had been called "Planner", and another "Conniver")
- Guile (in the tradition of Scheme, Conniver, etc.)
- StrongTalk (trivial modification of SmalltalkLanguage)
- FoxPro (from FoxBase? from the AshtonTate? DBase implementations)
- Sheep (a descendant of ALAM)
- Ruby (RubyLanguage, inspired by perl)
- 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)
Names which are words that don't fit into other categories:
- Clipper - a dBase compiler from a company called Nantucket, hence the name. There's a story behind it which I forget. See ClipperLanguage.
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
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.
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
Emotions:
Letters of the alphabet (along with punctuation):
"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)
"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")
Trees:
- Cedar
- Maple
- Oak (old name of JavaLanguage before it became Java)
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)
-BOL languages, following the lead of COBOL:
- COBOL
- SNOBOL
- SPITBOL
- Rebol (a modern language)
- DiBOL (Digital Interactive Business Oriented Language)
- Unibol (from DiBOL)
- Slobol (fictional)
ummm... oberon, logo, postscript, ABC, mercury, agile, mumps, chill,
squeak, sather, SETL, befunge, blue, dylan, erlang, godiva, icon,
lua, m4, moo, teco
http://en2.wikipedia.org/wiki/Talk:Programming_language
I don't see how the name Clipper derives from dBase - I also don't think it fits into any of the other categories. Can whoever added it to the named for other languages explain why?
I think that whoever put that there was thinking the category was languages derived from other languages, rather than those whose names were so derived. I created a new category for it (names that are words)
See
http://www.twofrog.com/hud0312.html -- the "joke" was that Clipper was made by a company in Nantucket -- hence, the Nantucket Clipper, or just Clipper. --
SamuelFalvo
CategoryProgrammingLanguage CategoryWhimsy