How Programming Languages Got Their Names(kylehigginson.medium.com) |
How Programming Languages Got Their Names(kylehigginson.medium.com) |
Here's a few more of the top of my head, feel free to expand the list! :
C: a successor to B, itself derived from BCPL.
C++: increments over C.
D: a successor to C.
LISP: LISt Processor.
FORTRAN: FORmula TRANslator.
ALGOL: ALGorithmic Language.
Prolog: PROgrammation LOGique (logic programming in French).
PHP: initially PHP/FI for "Personal Home Page Form Interpreter", later rebranded as "PHP: Hypertext Preprocessor".
JavaScript: named this way to be associated with the popularity of Java.
Ada: in honor of Ada Lovelace.
OCaml: initially Objective Caml, because it added OOP support among other things.
Caml: Categorical Abstract Machine Language.
ML (as in SML): Meta Language.
SQL: Structured Query Language.
Edit: On an unrelated note, TIL that the sign used on telephone keys is also not #, but ⌗ -- a.k.a. the "Viewdata square" [0].
[0] https://en.wikipedia.org/wiki/Viewdata#Keypad_symbols:_the_s...
https://en.wikipedia.org/wiki/Telephone_keypad#Layout
"The key labeled was officially named the "star" key. The key labeled # is officially called the "number sign" key, but other names such as "pound", "hash", "hex", "octothorpe", "gate", "lattice", and "square", are common, depending on national or personal preference. The Greek symbols alpha and omega had been planned originally."
Does anyone else think it's a bit too much to name something after yourself? Even in math and physics, scientists often don't name it after themselves—their colleagues do it to give credit where it's due (e.g., Colomb's law, Planck's constant, etc.)
> The original name SEQUEL, which is widely regarded as a pun on QUEL, the query language of Ingres, was later changed to SQL (dropping the vowels) because "SEQUEL" was a trademark of the UK-based Hawker Siddeley Dynamics Engineering Limited company. The label SQL later became the acronym for Structured Query Language.
(it's actually a reference to the Parable of the Pearl, but that name clashed with PEARL, a real-time programming language from the 70s developed in Germany)
As expressed in Haskell: 'D' == succ 'C'
As another example: "IBM" == map succ "HAL"
[0]: To finally find closure with the old Lisps /jk Closure in Lisp has as different meaning. It's arguments that are waiting for their lambda.
Everyone around Walter Bright kept calling it D because it was a modern language with C-like syntax. Thus, D the next letter in the alphabet and eventually Walter gave in. :)
Or, as UNIX haters put it: C++ is to C what lung cancer is to lung.
Beginners All Purpose Symbolic Instructional Code = BASIC
Oberon: named after https://en.wikipedia.org/wiki/Oberon_(moon)
Ada: named after https://en.wikipedia.org/wiki/Ada_Lovelace
Eiffel: named after https://en.wikipedia.org/wiki/Gustave_Eiffel
Sather: named afer https://en.wikipedia.org/wiki/Sather_Tower
Nim: named after https://en.wikipedia.org/wiki/Nimrod
Erlang (Ericsson language): named after https://en.wikipedia.org/wiki/Ericsson
Lisp comes from List Processor.
Scheme was first called Schemer, which itself evolved out of the Planner language developed by Carl Hewitt at MIT. Schemer was shortened to Scheme to fit the ITS filesystem's six character filename limit (!) on the PDP-10.
Racket is a kind of Scheme. (I like this one)
Guile comes from Guy L. Steele, one of the initial Scheme developers. The other being Gerald Jay Sussman.
Gambit: Another kind of Scheme.
SBCL: Steel Bank Common Lisp, forked from CMU Common Lisp, CMU being the university named after the founder of a steel factory and a pair of bankers.
Maclisp: Created for MIT's project MAC (the Project on Mathematics and Computation).
Franz Lisp: A pun on the composer Franz Liszt.
[1] https://en.wikipedia.org/wiki/Curry_(programming_language)
Actually, there was an earlier language named S, for "statistics". R was intended as a successor to S - I suppose T would have been the natural name, then, or S++ - but also the inventors had first names starting with R.
I've heard people speculate it has something to do with correlation coefficients, which it doesn't, but that r comes from "reversion" or "regression": https://stats.stackexchange.com/questions/368224/why-is-r-us...
1. Ihaka, Ross, and Robert Gentleman. “R: A Language for Data Analysis and Graphics.” Journal of Computational & Graphical Statistics 5, no. 3 (1996): 299–314.
1: https://web.archive.org/web/20110717205734/http://blade.naga...
Edit: this also provides a clue for Perl's naming, it's "related to a shell" (I don't know if this is accurate)
[Explaining / Ruining the joke: Pokémon games come in paired editions - red/blue, gold/silver, sword/shield. For the fourth generation of games the paired editions are Diamond/Pearl.
In many generations an 'upper' edition is later released - Yellow, Crystal, Emerald - this is a slightly enhanced remake, often with a tweaked story. For the fourth generation the upper edition was called Platinum.]
> had mentioned to someone that the "prose" of then current programming languages was lower than a cocktail party conversation, and that great progress would have been made if we could even get to the level of making "smalltalk".
Tcl: (an embeddable) Tool Command Language [1]
Forth: FOURTH as in "4th generation software", "successor to 3rd generation compile-link-go languages", or "software for 4rd generation hardware", but IBM 1130 naming cut it short one char [2]
PostScript: after the postfix notation it uses and because it was to be the last thing that happened to an image before it was printed [3]
[0] https://en.wikipedia.org/wiki/AWK
[1] https://wiki.tcl-lang.org/page/Tcl+vs%2E+TCL
[2] https://en.wikipedia.org/wiki/Forth_(programming_language)
SNOBOL = (from Wikipedia) "According to Dave Farber, he, Griswold and Polonsky "finally arrived at the name Symbolic EXpression Interpreter SEXI."
All went well until one day I was submitting a batch job to assemble the system and as normal on my JOB card — the first card in the deck, I, in BTL standards, punched my job and my name — SEXI Farber.
One of the Comp Center girls looked at it and said, "That's what you think" in a humorous way.
That made it clear that we needed another name!! We sat and talked and drank coffee and shot rubber bands and after much too much time someone said — most likely Ralph — "We don't have a Snowball's chance in hell of finding a name". All of us yelled at once, "WE GOT IT — SNOBOL" in the spirit of all the BOL languages. We then stretched our mind to find what it stood for.
Common backronyms of "SNOBOL" are 'String Oriented Symbolic Language' or (as a quasi-initialism) 'StriNg Oriented symBOlic Language'. "Additionally, he wanted to name it "Fourth" because it was targeting the fourth generation of computers [1] that featured the first hard disks (IIRC) - not because he thought of it as a fourth generation language.
[1] https://en.wikipedia.org/wiki/History_of_computing_hardware_...
Does anybody know if this is right or if I'm confusing it with something else?
[0]:https://commandcenter.blogspot.com/2017/09/go-ten-years-and-...
He doesn't remember exactly.
I think with historical trivia like this it's very easy for facts to get simplified and for maybes to turn into certainties as information is passed along from person to person. I personally wouldn't trust a single claim in the article without checking first hand sources first.
>the fungus Rust that is “over-engineered for survival”.
Obviously Rust is indeed surviving (and thriving) and damn it is over-engineered.
If C++ wasn't actively developed too, Rust would surpass C++ as the most complex programming language sooner or later.
I wonder if we have already reached the point where no single individual fully understands Rust (C++ passed that threshold years ago [1])
[1] Yes, even Bjarne Stroustrup himself can only keep a fraction of C++ in his head at any given time, even if it is a large one, e.g. there was an interview where he got the behavior of unique_ptr in a certain scenario wrong and had to be corrected on camera by Herb Sutter (who certainly can't keep the entire language in his head either).
Just rolled the dice on 'z' + vowel + consonant + consonant until something good came up.
https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus...
[1] https://en.wikipedia.org/wiki/Pythia#Scientific_explanations
That probably wouldn't fly anymore in today's CS research.
As for Oberon, the moon may have played a role, but according to stories recently told at Niklaus Wirth's memorial service, "A Midsummer Night's Dream" and the mythological character in general https://en.wikipedia.org/wiki/Oberon may have had more to do with it, as Wirth was said to have some flair for the theatrical arts in his private life.
Which contradicts with what he wrote in his "Project Oberon" book: "Although the search for an appropriate name for a project is usually a minor problem and often left to chance and whim of the designers, this may be the place to recount how Oberon entered the picture in our case. It happened that around the time of the beginning of our effort, the space probe Voyager made headlines with a series of spectacular pictures taken of the planet Uranus and of its moons, the largest of which is named Oberon. Since its launch I had considered the Voyager project as a singularly well-planned and successful endeavor, and as a small tribute to it I picked the name of its latest object of investigation." Also the books "Programming in Oberon" (where Wirth was co-author) and "The Oberon System" say the same. If he really did have "some flair" for the arts (besides "the art of simplicity"), he hid it very well.
And also because it is a derivative of Eiffel — which I think had been named more after the tower than the man, with the purpose of creating an analogy from software engineering to constructional engineering.
> Erlang (Ericsson language): named after https://en.wikipedia.org/wiki/Ericsson
Officially it is after the Danish mathematician Agner Krarup Erlang but we all know that is not the whole story...
Other languages named after mathematicians (in addition to others already mentioned):
Euclid: https://en.wikipedia.org/wiki/Euclid_(programming_language)
Occam: https://en.wikipedia.org/wiki/Occam_(programming_language)
Gödel: https://en.wikipedia.org/wiki/G%C3%B6del_(programming_langua...
[1] https://www.computerhope.com/jargon/b/brooks.htm
And while we're at it, another anecdote about naming the language [2]:
> Hudak and Wise were asked to write to Curry’s widow, Virginia Curry, to ask if she would mind our naming the language after her husband. Hudak later visited Mrs. Curry at her home and listened to stories about people who had stayed there (such as Church and Kleene). Mrs. Curry came to his talk (which was about Haskell, of course) at Penn State, and although she didn’t understand a word of what he was saying, she was very gracious. Her parting remark was “You know, Haskell actually never liked the name Haskell.”
Not an eponym per se, but Guy Fawkes comes to mind.
Edit (no I'm not reading through the Wikipedia list of eponyms why would you think that):
Gerrit for Gerrit Rietveld (though a fork of Rietveld for svn)
Linux for Linus Torvalds, Debian for two people, TOML (all self-named)
Aldus corp for Aldus Manutius
Wirth's love of the theater (and costume parties) was attested to by his family at the memorial service. It was not something that his students knew about him (maybe grad students did).
Don Syme is a pretty cool guy from what I’ve seen online too. He enjoyed supporting and attending Migrateful (UK charity where refugees/asylum seekers teach cooking classes) which I’m appreciative of in particular.