Settings

Theme

How Programming Languages Got Their Names

kylehigginson.medium.com

57 points by kylehigginson · 120 comments

Reader

23 threads
p4bl0

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

    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

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

    • fhd2

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

      • zogrodea

        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

          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

      > 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

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

        • bitwize

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

    • topaz0

      # 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

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

  • behnamoh

    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

    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

    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

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

    • bch

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

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

  • tmtvl

    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

    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

    > D: a successor to C

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

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

  • gmiller123456

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

  • Y_Y

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

  • Angostura

    Beginners All-purpose Symbolic Instruction Code

  • behnamoh

    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

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

  • CrendKing

    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

    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

    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

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

  • hulitu

    > C++: increments over C.

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

  • demondemidi

    Common Business Oriented Language = COBOL

    Beginners All Purpose Symbolic Instructional Code = BASIC

  • lawgimenez

    Swift named after the Swift bird?

eterps

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
  • microtherion

    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

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

        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

      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

        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

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

  • Findecanor

    > 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

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

    • eterps

      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

        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

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

    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

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

    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

    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

      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

      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

    I guess "currying" is also named after him.

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

    • 12_throw_away

      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

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

    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

      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

    "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

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

3ds

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

  • pilaf

    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

    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

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

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

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

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

shrubble

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_

    > 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

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

'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

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

  • Asraelite

    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

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

      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

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

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

    • dansalvato

      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

Python: slow, yet powerful

BerislavLopac

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

debok

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

  • sesm

    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

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

  • negus

    Because early JetBrains development was based mainly in Saint Petersburg.

  • pimlottc

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

  • lordnacho

    It's a less verbose island

  • p4bl0

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

    • geminger

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

sesm

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

mr_toad

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

ulrischa

So many missing in this list

Log_out_

Lua?

  • rarafael

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

    • jecel

      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