Settings

Theme

How Programming Languages Got Their Names

kylehigginson.medium.com

57 points by kylehigginson 2 years ago · 120 comments

Reader

p4bl0 2 years ago

This list is disappointingly short.

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.

  • BerislavLopac 2 years ago

    There is also C#, where # represents a duplication of "++", on top of each other. Technically, the # is not the sign for the musical sharp key (♯), but "C sharp" sounds better than "C hash", "C pound" or "C octothorp". :)

    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...

    • Y_Y 2 years ago

      I assumed they just meant to comment out everything that came after C.

    • fhd2 2 years ago

      And then there's F#, which _does_ play on musical notation. But I suppose F is also for "functional".

      • zogrodea 2 years ago

        The F there is for System-F! According to Don Syme, although I don’t personally know what System-F is. https://www.theregister.com/2021/11/12/f_6_were_making_f/

        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.

        • kevindamm 2 years ago

          System F is a polymorphic lambda calculus, it's more theoretical than practical (typing must be explicit or type inference may be impossible) but a restriction of its typing scheme is one you may have heard of, and the Hindley-Milner type inference algorithm works for it.

          https://en.m.wikipedia.org/wiki/System_F

    • MisterTea 2 years ago

      > Edit: On an unrelated note, TIL that the sign used on telephone keys is also not #, but ⌗ -- a.k.a. the "Viewdata square" [0].

      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."

      • psunavy03 2 years ago

        I'm now imagining an alternate world where Twitter/X introduced us to alphatags or omegatags.

        • bitwize 2 years ago

          Twitter borrowed the # convention from IRC channel names, not telephone keypads.

    • topaz0 2 years ago

      # may not be the same glyph as musical sharp, but the language name was indeed intended to have a musical interpretation, according to the wikipedia.

  • BanazirGalbasi 2 years ago

    Lua: Portuguese for "moon", it was developed in Brazil as a successor to SOL (Simple Object Language) which also means "sun" in Portuguese.

  • behnamoh 2 years ago

    Wolfram: Named after Stephen Wolfram, by Stephen Wolfram

    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.)

  • fhd2 2 years ago

    I suppose it's quite widely known where "JavaScript" comes from, but seeing it next to all the others and how they were named on the list, it seems like the... saddest etymology of them all.

  • refset 2 years ago

    According to Wikipedia:

    > 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.

    • mannyv 2 years ago

      I heard that a long time ago as well. It's a successor to QUEL, so obviously the successor to quel is sequel.

    • bch 2 years ago

      > regarded as a pun on QUEL, the query language of Ingres

      Indeed Postgres, too, is a pun on Ingres itself (post-Ingres).

  • tmtvl 2 years ago

    Scheme: Gerald J. Sussman and Guy L. Steele were working on a followup to Conniver, which they called Schemer, but but the machine they were working with only allowed 6-character names.

  • cygx 2 years ago

    Perl: Pathologically Eclectic Rubbish Lister

    (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)

  • tromp 2 years ago

    > D: a successor to C

    As expressed in Haskell: 'D' == succ 'C'

    As another example: "IBM" == map succ "HAL"

  • gmiller123456 2 years ago

    The Programming Language With No Pronouncable Acronym. Abreviated as INTERCAL, for obvious reasons.

  • Y_Y 2 years ago

    I'm obliged to point out that C has the same value as C++.

  • Angostura 2 years ago

    Beginners All-purpose Symbolic Instruction Code

  • behnamoh 2 years ago

    Clojure: closure [0] + Java

    [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.

  • treyd 2 years ago

    I thought that name for Caml was a backronym. I thought it was for "Cambridge ML".

  • CrendKing 2 years ago

    I think that list is limited to languages whose name comes from real life entities, and optionally with an interesting story behind. Names like "SQL" or "C" are more like pure knowledge rather nice good gossip.

  • MikeShah 2 years ago

    D was originally the 'Digital Mars Compiler'.

    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. :)

  • tetha 2 years ago

    There also is C--. C-- is a reduced kind of C to make implementation of compilers and interpreters for it easier. It is overall meant as a simple generation target for compilers.

    • Turing_Machine 2 years ago

      Then there's the famous list of joke languages which includes C-, named after the grade its creator got in his compilers class. :-)

  • hulitu 2 years ago

    > C++: increments over C.

    Or, as UNIX haters put it: C++ is to C what lung cancer is to lung.

  • demondemidi 2 years ago

    Common Business Oriented Language = COBOL

    Beginners All Purpose Symbolic Instructional Code = BASIC

  • lawgimenez 2 years ago

    Swift named after the Swift bird?

eterps 2 years ago

Pascal: named after https://en.wikipedia.org/wiki/Blaise_Pascal

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

  • eterps 2 years ago
  • microtherion 2 years ago

    Linda has a particularly unsavory origin story (hint: It has a connection to Ada): https://en.wikipedia.org/wiki/Linda_(coordination_language)

    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.

    • Rochus 2 years ago

      > "A Midsummer Night's Dream" and the mythological character ... may have had more to do with it"

      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.

      • microtherion 2 years ago

        OK, that would be a pretty conclusive evidence that the moon was the primary consideration. However, it's entirely possible that the name, when it was in the news, caught his attention because of the mythological background. Cf "Lilith", the first workstation he built. "Ceres" again both has astronomical and mythological connotations — I'm not sure whether Voyager encountered Ceres, though.

        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).

    • IncreasePosts 2 years ago

      It wouldn't fly, but I bet people would just obscure their true intent with a plausible story - "I wanted to make a language more beautiful than Ada, so I called it 'Linda', which means beautiful in Spanish"

      • pimlottc 2 years ago

        I would imagine something like this happened for Linda itself, since I assume the author didn’t namedrop a porn actress in their PhD dissertation.

      • zilti 2 years ago

        Your made-up story even wouldn't fly either nowadays.

  • Findecanor 2 years ago

    > Sather: named afer https://en.wikipedia.org/wiki/Sather_Tower

    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...

  • zilti 2 years ago

    To my knowledge, Oberon was named after Oberon, the king of elfs.

    • eterps 2 years ago

      The information provided in the literature on Oberon contradicts this claim. Furthermore, the moon is depicted on the covers of some books about it.

      • madcaptenor 2 years ago

        Worth mentioning here that some moons of Uranus are named after Shakespeare characters - the moon is named after Shakespeare's depiction of Oberon in A Midsummer Night's Dream.

miggol 2 years ago

For those of us who like the braces:

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.

  • tmtvl 2 years ago

    Kawa Scheme: From the Polish word for coffee.

    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.

tromp 2 years ago

Haskell Curry has the honor of having two programming languages named after him: Haskell and Curry [1].

[1] https://en.wikipedia.org/wiki/Curry_(programming_language)

  • pyrale 2 years ago

    There's one for his middle-name too [1].

    [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.”

    [2] https://www.dotnetrocks.com/details/310

  • jhbadger 2 years ago

    It is weird that Haskell (programming language) is named after Curry's first name though. That isn't generally how you name things (other than people). About the only other thing I think of that works that way is America, named after the explorer Amerigo Vespucci. "Vespuccia" would have been a more logical choice.

    • hcs 2 years ago

      There was the JOHNNIAC named after John von Neumann. Several things are named after Elvis Presley, e.g. https://en.wikipedia.org/wiki/Elvis_operator

      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

    • zilti 2 years ago

      America was very likely not named after Amerigo Vespucci - as you stated correctly, naming something after someone's first name is unlikely. It seems very plausible that it is named after the Amerrique mountains.

  • dehrmann 2 years ago

    I guess "currying" is also named after him.

    https://en.wikipedia.org/wiki/Currying#History

    • 12_throw_away 2 years ago

      I learned of Haskell (the language) and currying (the technique) before learning of Haskell Curry (the person). So whenever I see the name "Haskell Curry", it looks like a joke name at first glance. Like "wow, someone's parents were _really into_ functional programming", or maybe, he's the counterpart to Janet Javascript and Python Pete?

madcaptenor 2 years ago

R: pirates

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...

  • bluenose69 2 years ago

    In their paper (1), the authors state that R is to relate to S, but also to, in their words, "part to celebrate our own efforts". (Note their first names!). It's a great paper, by the way.

    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.

    • madcaptenor 2 years ago

      I haven’t actually read it! I had assumed that they named it R and just left other people to notice that their names started with R, but no such false modesty for them.

  • mjhay 2 years ago

    "R" wound up being a terrible name in terms of Google-ability and such, although it can be excused given that it was created in 1993. Csharp and Fsharp have no such excuse, though.

tmountain 2 years ago

Puff piece article. I expected something a lot more comprehensive.

3ds 2 years ago

No. Ruby is called Ruby because it is the better Perl.

  • pilaf 2 years ago

    I think both you and the article are correct. Here's a bit more context [1], it seems both Ruby and Coral were considered in part due to their connection with Perl, and in the end Ruby won because it "sounds better" and also because it's Matz's birthstone:

    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)

  • NeoTar 2 years ago

    Joke for Pokémon fans: Surely it should be called Platinum then?

    [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.]

hayley-patton 2 years ago

Smalltalk was named such as Alan Kay (https://wiki.squeak.org/squeak/50)

> 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".

kbr2000 2 years ago

Awk: Aho, Weinberger & Kernighan [0]

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)

[3] https://spectrum.ieee.org/adobe-postscript

top_sigrid 2 years ago

This was interesting, although a small list. But it is definitely lacking any sources to back these claims. From reading the article I have no idea, where the author got these anecdotes from.

bluenose69 2 years ago

Julia was named because it was a "pretty name" (https://www.infoworld.com/article/2616709/new-julia-language...)

shrubble 2 years ago

FORTH = because the machine Chuck Moore was using wouldn't accept a longer name; he wanted to call it "Fourth"

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'. "
  • astrobe_ 2 years ago

    > FORTH = because the machine Chuck Moore was using wouldn't accept a longer name; he wanted to call it "Fourth"

    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_...

hgo 2 years ago

I can't shake a vague memory that Java was named in an early brainstorming session with post-it notes on walls with tons of good and bad names, where eventually Java remained as the winner. I believe I've heard about this as a prime example of good brain storming methods from the early days when it wasn't at all obvious.

Does anybody know if this is right or if I'm confusing it with something else?

peterhull90 2 years ago

'Go' was named because "it's short, easy to type"[0] though I assume it being part of Google was also a contributing factor?

[0]:https://commandcenter.blogspot.com/2017/09/go-ten-years-and-...

tromp 2 years ago

TIL that Rust is named after a fungus instead of corroding metal.

  • Asraelite 2 years ago

    Sort of, maybe. See https://www.reddit.com/r/rust/comments/27jvdt/internet_archa...

    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.

  • copx 2 years ago

    ..and aptly named too:

    >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).

    • quickthrower2 2 years ago

      Yes that complexity has put me off learning Rust. I’ve had a brush with Haskell already, thx! I get more out of glueing things together than deeply getting into the language itself. Took me a while to realize that! So now I am learning Go (feel like I have learned it in an hour lol!) with the hope of having a long term language I like for side projects. I never was satisfied with NodeJS or C# for this for various reasons relating to the complexities of setting up projects esp. when they don’t wanna work.

dansalvato 2 years ago

Zig apparently got its name from this: https://gist.github.com/andrewrk/73742bf4b8ed795c85ce

Just rolled the dice on 'z' + vowel + consonant + consonant until something good came up.

  • Dwedit 2 years ago

    Is that real? There are plenty of references to Zero Wing on the website for the Zig language.

    • dansalvato 2 years ago

      The gist I linked is shared by Andrew Kelley, creator of the language. My best guess is that he rolled something similar to 'zig' and was reminded of the Zero Wing reference before deciding to take off with Zig (for great justice).

dr_kiszonka 2 years ago

Python: slow, yet powerful

BerislavLopac 2 years ago

Oh, I was disappointed that it's missing some interesting (albeit often well-know) cases like C++, C#, JavaScript or even PHP.

debok 2 years ago

Why would Kotlin be named after Kotlin Island? What's the connection?

  • sesm 2 years ago

    In early 2010s Java was widely used but the language and ecosystem was stagnating. This lead to an explosion of alternative JVM languages: Groovy, Scala, Clojure, etc. But most people didn't want an entirely new language, all they wanted was basically 'Java with lambdas'. One such language was Ceylon, and Jetbrains (after unsuccessfully trying Groovy) decided to create their own Ceylon and called it Kotlin.

  • arrowsmith 2 years ago

    Kotlin runs on the Java virtual machine, Java is an island, they picked another island.

  • negus 2 years ago

    Because early JetBrains development was based mainly in Saint Petersburg.

  • pimlottc 2 years ago

    It’s definitely more interesting to know /who/ named something and /why/, not just /what/ it’s named after.

  • lordnacho 2 years ago

    It's a less verbose island

  • p4bl0 2 years ago

    It targets the JVM. Java is also an island. Maybe that's it?

    • geminger 2 years ago

      Also the three founders of JetBrains, the developers of Kotlin, all graduated from St. Petersburg State University.

sesm 2 years ago

Clojure - an expansion from CLJ which stands for CLR, Lisp, Java.

mr_toad 2 years ago

Python, Delphi and Oracle all relate to the same Greek legend.

ulrischa 2 years ago

So many missing in this list

Log_out_ 2 years ago

Lua?

  • rarafael 2 years ago

    Lua means 'Moon' in Portuguese, as it is also their logo: https://lua.org

    • jecel 2 years ago

      And it is the successor to DEL (Data Entry Language) and SOL (Simple Object Language). Since 'Sol' is 'Sun' in Portuguese, they decided it would make sense to move to Moon.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection