The stories behind 13 programming language names

Programming language names are usually pretty formulaic and boring, except when they're not. Here are the inspirations behind some of the more creative ones.

A close up words engraved in a wall. We only see parts of sentences. The first line says What's in a name that... Second line says By any other name would...

A rose by any other name...

Programmers generally agree that one of the hardest tasks in software development is naming things. One of things they have to name, though not very often, are new programming languages.

When a new language is designed, the name chosen for it often follows one of several formulas: it's an acronym or abbreviation based on what it is (e.g., BASIC, COBOL, TCL, LISP), the name is derived from an existing language (e.g., C++, C#, CoffeeScript) or it's named after someone famous from math or computer science (e.g., Ada, Pascal, Turing).

Sometimes, though, language designers get more creative when choosing a name. Here are the stories behind 13 of the the more unusual programming language names.

A picture of a bottle of beer named Monty Python's Holy Ail

Python

The popular language, first released in 1991, was created in the late 1980's by Dutch programmer Guido van Rossum. He created the new scripting language, derived from the ABC programming language, as a hobby during Christmas break.

When it came time to pick a name for his creation, van Rossum wanted something "short, unique and slightly mysterious." He found his inspiration in the famous British comedy group Monty Python, of which he was a big fan. No word on whether he considered Dead Parrot for the name.

Exterior picture of a Peet's Coffee & Tea shop

Java

Java grew out of Sun's Green project in the early 1990s, an effort to create a technology to support what they foresaw as the coming wave of smart appliances, like interactive TV. The new language that was created was originally called Oak, but once Sun's lawyers determined that that name was already trademarked, they had to pick a new name.

A series of meetings then commenced and a short list of names (cleared by their lawyers) was chosen, which included Silk, DNA and Java. While it's not clear exactly who first suggested Java, most involved seem to agree that it was inspired by Peet's coffee, which was popular among Sun's engineers.

Picture of an IBM 1130 computer

Forth

The Forth language was developed by Charles Moore beginning in the 1960s. Working for Mohasco, a home-furnishings company in 1968, he was given an IBM 1130 minicomputer with a 2250 graphic display and asked if it could be used to design carpeting.

Moore couldn't use FORTRAN to program the graphics, so he developer Forth. The name he originally chose was Fourth, as in a fourth generation language. Problem was, the 1130 only allowed 5 characters for filenames, so the U was dropped and Forth was born.

A picture of a pearl in a clam shell
REUTERS/Ahmed Jadallah

Perl

Known as the "Swiss Army Chainsaw" of languages due to its flexibility and power, Perl was created by Larry Wall in the late 1980s. When it came time to choose a name, Wall said he wanted a short name with "positive connotations." He considered his wife's name (Gloria), before settling on "pearl."

However, since there was already a programming language with that name (PEARL, the "Process and Experiment Automation Realtime Language"), he dropped the A and settled on perl. Note that, initially, the name was all lower case, inspired by Unix's all lower case vibe. It was only later, around the release of Perl 4 in 1993, that the name was capitalized.

A picture of the moon

Lua

Lua is a scripting language created in 1993 by TeCGraf, the Computer Graphics Technology Group of Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was based on two earlier languages developed by TeCGraf, DEL (Date Entry Language) and SOL (Simple Object Language).

When a child language was created to combine the best of DEL and SOL with other functionality, like flow control, the name Lua, Portuguese for "moon," was chosen since the name of one of its parents, Sol, is Portuguese for "sun."

A picture of an older couple sitting on a park bench making small talk

Smalltalk

Smalltalk is a family of object-oriented programming languages first developed at Xerox's Palo Alto Research Center (PARC) in the early 1970s, which influenced many later languages including Java, Python and Ruby.

Alan Kay's Learning Research Group developed Smalltalk, and, as Kay tells it, the name was chosen in response to the "IndoEuropean god theory" where systems were given god-like names such as Zeus and Thor to which they could never live up. Instead, he chose a much more innocuous name, Smalltalk, which would never lead to overinflated expectations.

A picture of ancient Greek ruins

Logo

Logo is a language developed for educational purposes by computer scientists at MIT's Artificial Intelligence Lab and Bolt, Beranek and Newman in the mid-1960s. It's a dialect of Lisp that can be used to teach a wide range of programming concepts and heavily influenced later educational languages such as Scratch.

One of its key features was that it generated output from commands using turtle graphics. The name Logo was derived from “logos”, which is Greek for “word” or “thought”, to help differentiate it from traditional numbers-oriented programming languages.

A picture of a ruby

Ruby

Ruby was developed by Yukihiro Matsumoto ("Matz") in 1993 as a true object-oriented scripting language to be an alternative to Perl and Python. Like Perl, Matz wanted a name that was based on a jewel. After some discussion with colleague Keiju Ishitsuka, the name was whittled down to either Coral  and Ruby.

Ruby was ultimately chosen, as Matz preferred it and since it was also Ishitsuka's birthstone. Matz has made it clear that while the ruby birthstone (July) follows pearl (June) on the calendar, the Ruby language wasn't meant to be a successor to Perl (which Matz considered a "toy language"); Ruby, instead, was meant to replace it.

A picture of a hand made book with the title Scheme-a-day Calendar

Scheme

In the late 1950s, John McCarthy at MIT developed Lisp, one of the earliest high level programming languages which soon became the favored programming language of artificial intelligence researchers. Over time, a number of different dialects of Lisp were developed, among them languages named Planner and Conniver.

In 1975, Gerald Jay Sussman and Guy Steele of MIT developed a new variation of Lisp and, following the Planner and Conniver naming convention, they chose the name Schemer. However, the language ran on an MIT-developed OS called ITS (Incompatible Timesharing System) which limited filenames to two components of, at most, six characters each, so Schemer was shortened to Scheme.

A picture looking up a long outside staircase

Scala

Scala is a language created by Martin Odersky in 2001 that is both a functional and object-oriented language. It was written to be compiled into Java bytecode (and, previously it could also be compiled into .NET).

The name Scala was chosen for two different reasons: first, it's a combination of SCAlable LAN, since it scales well. Second, scala is also the Italian word for stairs or ladder, which gave it a nice double meaning, as it's meant to help you ascend to a better programming language.

A picture of a DJ spinning and scratching records on a turntable
REUTERS/Julia Robinson

Scratch

Scratch is an educational programming language developed by a group at the MIT Media Lab in 2003. Kids use it to create programs by connecting blocks on the screen that dictate actions of “sprites.” These are used to create stories, movies, games, music and just about anything else they can dream up.

The name for the language came from hip-hop disc jockeys who create new sounds and music by spinning and scratching vinyl records on turntables.

A picture of AWK co-creator Brian Kernighan

AWK

Anyone who's used Unix is familiar with AWK, an interpreted language used for processing text files. It was developed in 1977 to be a more generalized version of the unix grep utility and was first included with Unix starting with Version 7 in 1979.

AWK was an important influence for Larry Wall when he developed Perl. Like many programming language names, AWK is an acronym but, unlike in most other cases, the acronym isn't based on what the language does; instead, it was derived from the last names of the three men who created it at Bell Labs: Alfred Aho, Peter Weinberger, and Brian Kernighan (pictured at left).

A picture of a dog wearing a hippy clothes from the 1960s

Groovy

Back in 2003, Java programmer James Strachan wanted a scripting language like Python or Ruby but which would run on the Java platform. His solution?

Design a new language that would dynamically compile into Java bytecode and that, in his own words, "builds right on top of all the groovy Java code out there." The choice of name then became a no-brainer.

Related: 20 tech brand namess you're saying wrong