loading...
Cover image for How programming languages got their names

How programming languages got their names

scottydocs profile image James.Scott Updated on ・3 min read

Phil Karlton once said there are only two hard things in computer science: "cache invalidation and naming things" and it's because of the latter that we have so many weird and wonderful names in technology. In this post I'm going to explore the names of a handful of common programming languages, revealing why they were chosen and where the words came from.

Perl

Perl was created by American developer Larry Wall in 1987. He initially chose the name Pearl because he felt it was short and memorable word with positive associations. However, as there was an existing language with the name, he changed the spelling to Perl. One existing backronym (an acronym created after the name) for Perl is Practical Extraction and Reporting Language. The word pearl came via the Old French perle meaning 'a bead' or 'something valuable' and the Latin perna meaning 'leg' which extends to the name of a mollusc apparently shaped like a leg of mutton.

Perna

Ruby

Ruby, the language the Dev.to site was developed with, was created by Japanese developer Yukihiro "Matz" Matsumoto in the 1990s. Influenced by Perl, he also wanted to use the name of a precious stone and choose Ruby because it was the birthstone of a colleague and the next birthstone in the monthly sequence after Perl: June's is pearl and July's is ruby. The word ruby comes from the Old French rubi meaning a 'reddish precious stone' from the Latin rubeus meaning 'red'.

The June birthstone Pearl and the July birthstone Ruby

Python

Dutch programmer Guido van Rossum designed Python in 1991, naming it after the British television comedy Monty Python's Flying Circus because he was reading the show's scripts at the time. He wanted a name that was "short, unique and slightly mysterious". The word python comes from the ancient Greek Puthón, the name of a huge serpent killed by the god Apollo. It has been used to refer to various large, heavy-bodied, non-venomous snakes that constrict their prey since the early 19th century.

A poster from Monty Python's Flying Circus and the Python logo

Java

Java was designed by James Gosling while he was working at Sun Microsystems in the early 1990s. The project was initially called 'Oak' before a highly caffeinated brainstorming session produced the name 'Java' (although they very nearly went with 'Silk'). Java, or Jawa in Indonesian, is the name of a large island in Indonesia that produces strong, dark and sweet coffee. It’s name can be traced back to the Sanskrit word yavadvip, yava meaning ‘barley’ and dvipa meaning ‘island’. Java has been a slang term for coffee in the United States since the 1800s.

A map of Java

Kotlin

Kotlin, the language released by JetBrains in 2011, takes its name from Kotlin Island in Russia. The team wanted to use an island name like Java had - although it was technically named after the coffee rather than the island! Kotlin (Котлин in Russian) used to be part of Sweden and was known as Kettusaari by the Finns, meaning 'fox island', and Ketlingen by the Swedes, which possibly stems from the lower German kettel meaning 'cauldron'. After Peter the Great and his Russian forces won control of the island in 1703 it was renamed Kotling, later shortened to Kotlin.

Kotlin island map

Swift

There is no clear answer to why Apple chose the name Swift but it's definitely not named after Taylor Swift as someone asked on Quora! My guess is they wanted to give the impression of something fast. The word swift means 'moving with great speed or velocity' and can be traced back to the prehistoric swipt- meaning to 'move in a sweeping manner'. The swallow-like bird became known as a swift from the 17th century and is used as the programming language's logo.

The swift bird and the logo

Find this interesting?

If you found this interesting, I've posted an infographic of the origins of more programming languages here. See low-res version below:

A map of lots of languages

You can follow me on Twitter at @TheStrangeRoots for Tweets about the origin of different words used in technology.

Discussion

pic
Editor guide
Collapse
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

My favorite conspiration theory is that the names go and swift were chosen specifically to make it hard to google stuff.

If I invent a programming language, I will call it the.

Collapse
feichinger profile image
FJones

"the programming language" does make for a nice tagline, too.

Collapse
moopet profile image
Ben Sinclair

The The manage to still be the first hits for "the the".

the The album cover, "Soul Mining"

I remember there was a catalogue company in the UK, I think it was part of Littlewoods, but it was well-established, except... it was called "index". That didn't do too well in the old web search era.

I think what we're really looking for here is some kind of A E S T H E T I C language.

Thread Thread
aarone4 profile image
Aaron Reese

A bit like the document database from intersystems called chache with an accent on the e. Definitely doesn't work when searching for cache database

Collapse
therealeststu profile image
Stuart Lindstrom

Drop the “the”. Just ; it’s cleaner.

Collapse
zacharylayne profile image
zacharylayne

What about just naming it with the EOL character? 4 spaces?

Collapse
wello6143 profile image
Trung Nhan Dang

pain is more accurate tbh

Collapse
dar5hak profile image
Darshak Parikh

I got that reference.

Collapse
lazzu profile image
Lasse

I'll call mine as "why"

Collapse
jmfayard profile image
Collapse
nijeesh4all profile image
Nijeesh Joshy

someone: What is the best programming language to learn in 2045 ?

google: why?

Collapse
richarddewit profile image
Richard de Wit

Also the new language V, it was originally named Volt. Why, just why?! The author is even aware it's un-google-able:

Why "V"?

Initially the language had the same name as the product it was created for: Volt. The extension was ".v", I didn't want to mess up git history, so I decided to name it V :)

It's a simple name that reflects the simplicity of the language, and it's easy to pronounce for everyone in the world.

Please note that the name of the language is "V", not "Vlang" or "V-Lang" etc.

The name is not very searchable (like Go), so use #vlang on Twitter, vlang on Google etc.

I mean, come on. Just keep it named Volt and change the extension to .vt or something... It even sounded cooler and think of the logos/artwork possible. Well it's too late now.

Collapse
railto profile image
Mark Railton

Possibly changed it as Volt is a templating language used for some PHP frameworks, primarily Phalcon.

Collapse
murrayvarey profile image
MurrayVarey

Nice! Also pretty hard to alphabetise, given that 'the' tends to be ignored.

Collapse
felipperegazio profile image
Felippe Regazio

Would be cool to have a book ~Thesign Patterns~

Collapse
marcellothearcane profile image
marcellothearcane

For ultimate ungoogleability, start the name with a minus symbol

-language

On its own, you get no results, because it's a shortcut for excluding keywords from Google

Collapse
spiralx profile image
James Skinner

Don't forget C, C++, C#, Go and .NET, all of which come close for unsearchability. I'm 99% sure search engines special case a ton of search terms like these - I had to add special cases just implementing a simple search on company names some years back.

Thread Thread
716green profile image
Bob Bass

I use .NET and I've become quite fond of speech to text lately. I am a C# developer. It is a nightmare.

Not to mention that whenever I say C#, it shows up as c sharp.

So yes, I spoke this response but I had to manually input a few key words.

Thread Thread
spiralx profile image
James Skinner

Annoying! I guess text-to-speech software should also allow you to add special cases so that it knows if you say "see sharp" it should insert "C#" and similarly insert ".NET" for "dot net".

You could always use something like AutoIT and write a task that would monitor keypresses in application text boxes and replace them based on your preferred rules.

autoitscript.com/forum/topic/63979...

Collapse
zacharylayne profile image
zacharylayne

I program in Hack a lot. Imagine how horrible THAT is too look up.

Collapse
rogerwcpt profile image
Roger Weiss

Precisely, you always wonder if C# or .NET will yield all the results so occasionally I try csharp and dotnet in my google searches.

Collapse
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

I am pretty sure that the Google search guys have been working hard on making requests with "go" or "C#" work

Thread Thread
dar5hak profile image
Darshak Parikh

The name Go is partially rejected by the community in favour of Golang. Same would be the fate of Thelang;

Collapse
piotrmurach profile image
Piotr Murach

Coming up with names is hard. I struggle greatly naming my open source projects, sometimes for days. It is a real struggle. It makes me feel slightly better knowing 'troubles' language creators went through to name their projects.

Collapse
scottydocs profile image
James.Scott Author

It really is! It was quite fun researching this and finding out that the one of the key reasons that some of the names were chosen (Clojure and Elixir in particular) was simply because the name and its domain were free!

Collapse
piotrmurach profile image
Piotr Murach

Interesting! This is exactly the path I ended up often going down - the pragmatism of a single word that is still available. This seems like a wider strategy in tech. I listened to a podcast with Patrick Collinson where he said that the way they come up with Stripe as company name was basically searching dictionary and domains for a single word that is still cheap to buy.

Collapse
lmuzquiz profile image
lmuzquiz

Can we change javascript to jediscript?

Collapse
dar5hak profile image
Darshak Parikh

Isn't it hard enough to tell people the difference between JavaScript and ECMAScript?

Collapse
abelbraaksma profile image
Abel Braaksma

Kinda expected a little story on how the languages A, B, C and D are related in a 'give a thing a name when you're out of ideas' way (and how they're not), but seeing these more creative names explained is fun to read, for sure. Thanks for the post :)

Collapse
murrayvarey profile image
MurrayVarey

Yeah, I wish they'd been more creative. C used to be entirely Google-proof.

Also why did they decide to pick it back up at R?

Collapse
spiralx profile image
James Skinner

C came from B, which came from BCPL, and has been followed by D as well as C++, C# and Objective-C, which is actually searchable lol. It has nothing to do with the ABC language though, which actually inspired Python.

Collapse
herobank110 profile image
David Kanekanian

it was named after S

Thread Thread
murrayvarey profile image
MurrayVarey

"Holy crap, guys -- we're running out of names!"

Collapse
fredpraca profile image
Fred Praca

The word pearl came via the Old French perle meaning 'a bead' or 'something valuable'

Well this is just French not Old French as we are still using it :)

And the same way, we still use rubis but with an ending S.

Finally, the language you could have talked about is Ada which was named after one of the first programmers in the world, Lady Ada Lovelace.

Collapse
scottydocs profile image
James.Scott Author

I had to summarise here so I may edit the wording if it's unclear. According to the Oxford English Dictionary "perle" had different meanings over the years in Old/Middle French:

perle pearl (c1140 in Old French; compare also Old French, Middle French perne ), bead (1260 in >Old French), the tincture argent in heraldry (a1458), highly esteemed person (1532), valuable thing >(1546), the teeth (1552), round capsule containing a medicinal substance (1853)

Collapse
jmccabe profile image
John McCabe

Sad not to see Ada getting a mention here. Named after Augusta Ada Byron, Countess of Lovelace (often shortened to Ada Lovelace) who is reputedly the world's first computer programmer due to her relationship with Charles Babbage, and also the daughter of Lord Byron, one of England's greatest poets and someone who helped instigate the story of Frankenstein (by Mary Shelley). An additional little nugget of info is that the US DoD diverged from its usual numbering sequence to allow the Ada programming language standard to be designated MIL-STD-1815, the 1815 referring to the year of Ada Lovelace's birth.

Collapse
pcchynoweth profile image
Peter Chynoweth

When I was a Computer Science undergrad in the 1970s I learned B. I had a professor who developed a language similar to B (or BCPL) for use with what were then mini computers. Because he was at a renowned Canadian university (Waterloo) he called the language Eh. I thought that was a lovely and witty name.

Collapse
shadow1349 profile image
shadow1349

My favorite has to be JavaScript, originally called lightscript. They changed the name to draft off of the success of Java hence JavaScript haha just straight up plagiarism

Collapse
scottydocs profile image
James.Scott Author

Oh, interesting! Thanks :)

Collapse
johandalabacka profile image
Johan Dahl

It was called Livescript (read more here en.m.wikipedia.org/wiki/JavaScript under the history section)

Collapse
natourfaris profile image
Faris Natour

Not sure if this comment is in jest, but that's not too far from how Javascript did actually get its name.

Collapse
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Correct.
Specifically I was amused that it was called Javasomething because Java was the hot web programming language. That didn't last :D

en.wikipedia.org/wiki/JavaScript#B...

In 1995, Netscape Communications recruited Brendan Eich with the goal of embedding the Scheme programming language into its Netscape Navigator.[18] Before he could get started, Netscape Communications collaborated with Sun Microsystems to include Sun's more static programming language, Java, in Netscape Navigator so as to compete with Microsoft for user adoption of Web technologies and platforms.[19] Netscape Communications then decided that the scripting language they wanted to create would complement Java and should have a similar syntax, which excluded adopting other languages such as Perl, Python, TCL, or Scheme. To defend the idea of JavaScript against competing proposals, the company needed a prototype. Eich wrote one in 10 days, in May 1995.

Although it was developed under the name Mocha, the language was officially called LiveScript when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed JavaScript when it was deployed in the Netscape Navigator 2.0 beta 3 in December.[2][20] The final choice of name caused confusion, giving the impression that the language was a spin-off of the Java programming language, and the choice has been characterized[21] as a marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new Web programming language.

Thread Thread
dar5hak profile image
Darshak Parikh

I wonder what the world would have been like, had they gone with Scheme instead of Java.

Collapse
murrayvarey profile image
MurrayVarey

I think Rust might be held back by its name. Why name a new language after the crumbly bronze stuff you find on ancient machinery?

Collapse
joshparkerj profile image
joshparkerj

Cause there's nothing closer to the metal than rust.

Collapse
dar5hak profile image
Collapse
iandaly profile image
Ian Daly

According to Chris Lattner in a blog post Swift was originally called Shiny ✨

Collapse
u8nc profile image
MiAn

There was already language called SwiftLang, it was owned by Elizabeth Rather's company Forth Inc. as a proprietary means of programming firmware.

Elizabeth is something of a modern Ada Lovelace in that the language was invented by Charles ( Chuck ) Moore, but she was the first programmer since she was co-developer. Something to do with telescopes here, I'm not sure what.

Forth was intended to be named Fourth, meaning it was one generation 'up' from the common 3rd generation view, with Assembly (or Assembler) being the lowest or 1st level. But one could only have 5 letters maximum at the time, so they dropped the 'u'.

The forth community vastly reduced after it was ANSI-fied, with many talented programmers now disillusioned with being constricted. It was said that ".. if you've seen one Forth, you've seen ... one Forth".

Collapse
dar5hak profile image
Darshak Parikh

I'm one with the Forth, the Forth is with me.

Collapse
dar5hak profile image
Darshak Parikh

Shiny Eevee used Swift. It's super effective.

Collapse
amykble profile image
Amy

Cool!

Collapse
vaibhavkhulbe profile image
Vaibhav Khulbe

Wow! Really interesting. I like these fact-based articles a lot. Thanks for letting us know 😄

Collapse
scottydocs profile image
James.Scott Author

Thanks for reading :)

Collapse
katerakeren profile image
Kater Akeren

This is an impressive insight...

Collapse
rickbradford profile image
RickBradford

There's only one Eiffel.

But how many languages are there called Easel? There's a CAD/CAM Mac application, and there's a "property-based language" developed at Carnegie Mellon, which may or not be the same as an actor language called Easel which I remember from some time ago.

It's getting almost as hard as naming new cars ....

Collapse
stevengreen31 profile image
Steven Green

Wait? No love for fortran, algol, snobol, cobol, basic, b, c, pascal to name a few.

Collapse
scottydocs profile image
James.Scott Author

Less a lack of love but a more for a lack of time and space 😬

Collapse
stevengreen31 profile image
Steven Green

Get off my lawn!

Collapse
kristijanfistrek profile image
KristijanFištrek

This is interesting, although it seems self-explanatory, it is cool to hear it :D

Collapse
chusine profile image
Chukycheese🏳️‍🌈

This is really interesting!! I wonder if I can translate into Korean and post it to my github page (chukycheese.github.io), or somewhere you allow me to. Cheers!

Collapse
scottydocs profile image
James.Scott Author

Thanks! Sure, if you want to translate it and share elsewhere that's fine with me :)

Collapse
armw4 profile image
Antwan R. Wimberly

Nice!!! 👍🏼

Collapse
awakeel profile image
Abdul wakeel

If I invent a programming language then I will build it solid in the first attempt.. No updates no changes until end of the times.

Learn once and live with it forever - till death language.

Collapse
spiralx profile image
James Skinner

Perl actually stands for Pathologically Eclectic Rubbish Lister ;)