selfaware soup

Esther Weidauer

Please make a Harklurk programming language

2014-06-02

Today, at their WWDC keynote, Apple announced a new programming language that they created to replace Objective-C.

Now, I have no idea if this language is any good and that’s also not the problem here. The problem is its name. It is called “Swift”, which follows a long tradition among engineers to come up with terrible names for programming languages.

Here are a few more examples:

Why are these names so bad? Because all of them are real words in a very widely spread language: English (and maybe others). Those words all have meanings that are almost all entirely unrelated to programming. We have a mineral, an animal, one of the most common verbs in the english language (or a japanese board game), a sport and a word with countless unrelated meanings.

The only reason that these names are searchable on the web at all is their popularity as programming languages which may fade over time and make them impossible to search again. Even worse, they reduce the searchability of the terms that things that these words belonged to in the first place.

“Swift” is just another one of these bad names. It’s a real word and it’s also probably a trademark in every country that allows trademarks.

So, what would be good names for programming languages then? Well, I posted a few on twitter while ranting about this but I’ll just write them down here again for good measure. Consider these name free to use. I would be absolutely delighted if I saw a programming language with one these names anywhere:

None of these are real words in any widely spread language and they have zero real Google results. And let’s be honest, they don’t sound that bad. I bet you can come up with better ones if you spend more time on it than I did, which was about 30 seconds.

If you think “Those aren’t real names, nobody uses names like that!”, here’s a few programming languages with good names:

True, some of those are a some kind of acronym or portmanteau, but who cares? They are unique and (almost) don’t refer to anything other than a programming language. Also, acronyms are usually not bad names as well.

I wanted to include Haskell in this list, but it turns out, that’s also a bad name.

So, please, if you have to come up with a name for a language or just about anything else (tool, library, framwork, etc …), please think about the existing meaning of words and how that will affect the thing you are naming, especially the ability to find stuff about it on the web.

And seriously, just be a little more creative with names. It’s boring otherwise.