Wearied by divers ongoing debates, I have devised a superior method to compare programming languages. It is much more fun and will offend just as many people.

The languages being rated are among the top 50 most popular programming languages according to the TIOBE index as of this month.¹


C++ is an extension of C. What better way to succinctly express this than by using C's increment operator?

'C#' takes the idea of 'C++' and does one better. The sharp symbol can be interpreted as representing incrementation as it represents a note being made a semitone higher. Most satisfyingly of all, the # represents two ++ operators stacked on top of each other, indicating that C# is C++++ — an extension of C++.


'Bash' stands for 'Bourne-Again Shell', as it replaces the Bourne Shell. I'm not a fan of puns; this is an exception.

'Fortran' is short for 'Formula Translator', which is refreshingly short by CS acronym standards. It also sounds like the name of a distant and technologically advanced planet in an old sci-fi work. All the buildings on Fortran are oblong and powered by the two suns.

This name not only sounds cool, but is also subtle. 'Haskell' is such an unusual name that it's not obvious the language is named after someone unless you've already heard of Haskell Curry, which most haven't. It's nice that a lesser-known mathematician is getting stuff named after him.

The only programming language named after Monty Python's Flying Circus. Python is a good name because it's a fun reference for those familiar with Monty Python, and a slick 1337 strongX0R-sounding name for others.

RPG stands for 'Report Program Generator', which sounds epic and is descriptive of what the language does (generating reports from data files) in a way that most language names aren't. Gamers approve of this name too.

Originally called SEQUEL as it was meant to be a sequel to QUEL and SQUARE (hence sharing letters with both). The name had to be changed to SQL because 'SEQUEL' was an existing trademark, which is a bit of a shame.


'Lisp' is a straightforward contraction of 'list processor'. Despite being the name of a speech impediment, it rolls off the tongue well enough.

Lua is named after the Portuguese word for 'moon' because it was influenced by SOL ('sun' in Portuguese). Not as clever as 'C#' or 'Bash' but still creative and elegant-sounding.

This one just sounds nice.

Ruby is the birthstone (December) of one of its creator's colleagues. The language was influenced by Perl (pearl is November's stone). I don't believe in New Age stuff but the two languages being named after two consecutive birthstones is rather cool.


Amusing (especially given that it's the first letters of the creators' surnames) but quite ugly to say out loud.

'C' is perhaps as neutral as you can get when it comes to programming language names.

Delphi was so named because of its associations with Oracle. The Greek mythology reference is neat, but I can't bring myself to place this one any higher because there's something about it that prevents it from sounding like a programming language name.

This name may be boring (apart from sounding like a low-budget spy movie), but as the name of an object-oriented language based on C it's far from misleading.

PHP stands for 'PHP: Hypertext Processor'. I like recursive acronyms but this is one of the less interesting ones. It's also a backronym; PHP used to stand for 'Personal Home Page'.

A language's creators' names both beginning with R is a simple, but decent reason to give it this name.

This one stands for 'Statistical Analysis Software'. It makes me feel nothing at all.


Ada Lovelace was cool, but this name seems a bit too on the nose.

Nearly 30 years after the creation of C, the creators of D decided to continue the programming alphabet, probably because they had no better ideas.

Yeah, it's fast, I get it.

This name was apparently chosen because it was short and easy to type. Perhaps as a result of this, it is quite forgettable. Unlike the language's mascot, which I want to punt into the sun.

I do not understand normies and their obsession with coffee. Java was originally going to be called Oak, after an oak tree outside James Gosling's office, which is just as banal.

This one's just boring and pointless.

MATLAB is a contraction of 'Matrix Laboratory', which sounds like one of those 'fun hands-on learning activities' I was forced to do in school.

This one sounds like a gadget from a corny 80s cartoon. 'PowerShell...activate!'

This is probably the name of a medication advertised on American TV. Side effects include skin irritation, depression, nausea, bone weakness, internal bleeding and death. Though to be fair, I can't think of a better way to combine the words 'programming' and 'logic'.

It perplexes me why someone would name a programming language after a substance that destroys machines. (Perhaps the creators are trying to say something?) 'Rust' is apparently also supposed to be short for 'robust', which makes no sense because a rusty machine is the opposite of robust.

Any language name ending in 'script' isn't getting placed higher than D tier. 'VBScript' is as dull as any of these, but there's no reason for me to really hate it so it's not getting placed any lower.


ABAP stands for 'Advanced Business Application Programming', which is probably the least descriptive corporate word salad ever.

Just look at that round and bloated acronym. It stands for 'common business-oriented language', which means absolutely nothing. This name is the abstraction of bureaucracy.

This is what you name a programming language when you've run out of ideas. At least you can talk about 'Hack scripts'.

Naming a language after an unrelated, more popular existing language as a marketing ploy is both uncreative and devious.

Programming languages like Haskell and Ada are named after interesting people with unique names. Julia is named after no one in particular, and given a painfully ordinary name to boot.

This just doesn't look or sound like a programming language name. It seems way more suitable for a beer brand.

LabVIEW is a nondescript acronym that stands for 'Laboratory Virtual Instrument Engineering Workbench', which is the epitome of proprietary verbiage. Nothing about the name indicates that it's a programming language, it could be anything.

Apparently this language was named after the Italian word for 'stairway', because its users 'ascend to a better language'. This is horribly pretentious.

This sounds like the name of a corporation dreamed up by a mediocre sci-fi author. The CEO of Simulink wears all white, is ageless due to state-of-the-art medical technology, and wants to put microchips in people's brains.

'Swift' would sound bland and clichéd as a name for anything.

This is what an AI would name a programming language.

Visual Basic
Too flavourless, too corporate, too many syllables.


This sounds like a line of men's skin/hair care products whose packaging tries way too hard to look alpha.

I would rather eat my own shoes than program in a language named after a word that should have stayed in the 60s where it belongs. Just look at this hideous 'retro' logo.

This name is annoying and affectedly quirky rather than 'fun'. 'It's so chaotic and spontaneous!' Piss off.

Scratch is named after a remixing technique used by DJs (how do you do, fellow kids?). How about you scratch deez nuts.

¹There are only 46 entries in the tier list; I have left out some TIOBE entries because I felt it wasn't necessary to include them. They include: assembly language, because that's not one specific language; Transact-SQL and PL/SQL, because they're just different versions of SQL; and Classic Visual Basic, because it's just an older version of Visual Basic.