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.
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'.
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.
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.
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.
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.
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:
You can follow me on Twitter at @TheStrangeRoots for Tweets about the origin of different words used in technology.
Oldest comments (64)
This is interesting, although it seems self-explanatory, it is cool to hear it :D
Cool!
Wow! Really interesting. I like these fact-based articles a lot. Thanks for letting us know 😄
Thanks for reading :)
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.
"the programming language" does make for a nice tagline, too.
The The manage to still be the first hits for "the the".
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.
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
Nice! Also pretty hard to alphabetise, given that 'the' tends to be ignored.
Drop the “the”. Just ; it’s cleaner.
pain is more accurate tbh
What about just naming it with the EOL character? 4 spaces?
I got that reference.
Precisely, you always wonder if C# or .NET will yield all the results so occasionally I try csharp and dotnet in my google searches.
I am pretty sure that the Google search guys have been working hard on making requests with "go" or "C#" work
The name Go is partially rejected by the community in favour of Golang. Same would be the fate of Thelang;
I'll call mine as "why"
"Why why?"
nice tagline
someone: What is the best programming language to learn in 2045 ?
google: why?
😁
Google : why road map?
I program in Hack a lot. Imagine how horrible THAT is too look up.
Would be cool to have a book ~Thesign Patterns~
Also the new language V, it was originally named Volt. Why, just why?! The author is even aware it's un-google-able:
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.
Possibly changed it as Volt is a templating language used for some PHP frameworks, primarily Phalcon.
For ultimate ungoogleability, start the name with a minus symbol
On its own, you get no results, because it's a shortcut for excluding keywords from Google
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.
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.
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...
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.
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!
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.
Not sure if this comment is in jest, but that's not too far from how Javascript did actually get its name.
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.
I wonder what the world would have been like, had they gone with Scheme instead of Java.
This is an impressive insight...
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 :)
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?
it was named after S
"Holy crap, guys -- we're running out of names!"
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.
According to Chris Lattner in a blog post Swift was originally called Shiny ✨
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".
I'm one with the Forth, the Forth is with me.
Shiny Eevee used Swift. It's super effective.
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?
Cause there's nothing closer to the metal than rust.
🤯
Can we change javascript to jediscript?
Isn't it hard enough to tell people the difference between JavaScript and ECMAScript?
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!
Thanks! Sure, if you want to translate it and share elsewhere that's fine with me :)
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.
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
Oh, interesting! Thanks :)
It was called Livescript (read more here en.m.wikipedia.org/wiki/JavaScript under the history section)
Wait? No love for fortran, algol, snobol, cobol, basic, b, c, pascal to name a few.
Less a lack of love but a more for a lack of time and space 😬
Get off my lawn!