How Popular Programming Languages Got Their Names

Zenith Z-19 Terminal. Photo credit: Flick user ajmexico, CC BY 2.0
Zenith Z-19 Terminal. Photo credit: Flick user ajmexico, CC BY 2.0.

Ever wondered why C++ ended up with two pluses instead of one? And why was C even named C? Did the creators of Java have a particular fixation with coffee? Does Python have anything to do with snakes? I was curious myself, so I dug around their history and found a few interesting stories. Read on to find out more! It’s perfect fodder for your next party!

Lisp (1958)

Lisp has absolutely nothing do to with a speech impediment; it actually stands for List Processing. It was created in 1958 by John McCarthy, making it the second-oldest high-level language, right on FORTRAN’s tail. I’ve had friends in grad school who were big Lisp fans and users, so it might be falling out of style—but it’s not yet dead! The joke is that Lisp stands for Lost In Stupid Parentheses, after the language’s parentheses-heavy syntax, but at least it’s not really the case.

Kickstarter Alert: SwapBots Augmented Reality

C (1969)
Created by Dennis Ritchie at AT&T Bell Labs, C was actually named C because it was the successor of—can you guess?—B! B’s origin is less certain. It could be a shortened version of its predecessor, BCPL, or another unrelated programming language, Bon.

C++ (1979)
C had been the popular language, but PhD student Bjarne Stroustrup saw a lot of potential into bringing object-oriented programming to C. Thus was born a new language called, quite descriptively, “C with Classes.” I’m not sure why Stroustrup ended up changing the name. Maybe someone pointed out to him that C with Classes was a terrible brand name, but changed it he did. He picked C++, with ++ being the syntax in C to increment a variable. Nope, there was no mediocre or abandoned C+ that came in between C and C++.

Perl (1987)

Though some say Perl stands for “Practical Extraction and Reporting Language,” that’s actually a backronym. Perl’s developer, Larry Wall, was simply looking for a short, positive name. It’s nothing more complicated than that. He had chosen Pearl, but it turned out there was already a (less successful) Pearl programming language, so Wall changed it to a more unique Perl.

Python (1989)

The developer responsible for Python is Guido van Rossum, who has remained so active in the development of Python and its tightly-knit community that he is now nicknamed “Benevolent Dictator for Life.” As for Python, it was named not after the snake, but after Monty Python. Van Rossum had been reading the script for the Monty Python’s Flying Circus around the time he was also looking for a name for his new language. He wanted something “short, unique, and slightly mysterious.” Python fit the bill.

Java (1990)
The Sun Microsystems team originally responsible for Java started working on a C++ alternative out of frustration against C++’s lack of automated garbage collection (the purging of system memory usage by the program). The project started out as the Stealth Project, then was renamed to the Green Project. Finally, the project earned an unofficial product name of Oak. Unfortunately, once Oak was ready for prime time, Sun’s legal team ixnayed the name; Oak was already trademarked by a company called Oak Technology. So the Oak team had a very long brainstorming session, throwing out every word they could think of, trying to find a name that would convey Java’s dynamic nature. A short list made it back to the legal team, who approved of Silk (as in web, get it?), DNA (I don’t get it), and Java. They ummed and ahhed as a group until Kim made the executive decision to pick Java just so they could finally move on and get back to work! The rest was history.

*Note: Dates are the origin of the projects, not the official release dates.

Get the GeekDad Books!


Ariane is a programmer married to another programmer. Together they have two little girls who don't stand a chance against their nerdy lineage. Ariane can also be found writing about STEM travel at Geekling's Guide to the Galaxy.