I had a conversation on twitter with Michael Bridgen the other day. It went:

@squaremobius: Time to get my C++ hat on! That C++ hat that I have.

@DRMacIver: @squaremobius is it made of barbed wire and high explosives?

@squaremobius: @DRMacIver No, the C++ hat is made of slightly damp folded newspaper. And high explosives.

Well I was thinking about hats on friday (as one does), and started thinking about what the hats for other languages are like.

And then I thought “You know what we haven’t had in a while? An irritating but catchy meme in which we shallowly compare programming languages based on superficial characteristics. Those are awesome“.

The rest was inevitable.

And so, without further ado, I bring you hats for programming languages.

The C Hat

The C hat is a knight’s helmet. People looking at you think you are a brave warrior who slays dragons. They do however also suspect you might just be a crazy LARPer.

The Java Hat

The Java hat is a bowler hat. It is very prim and proper and worn by responsible businessman. You’re not sure if they know it says “Kick Me” on the back, but you don’t want to ask in case they don’t.

The Scala Hat

The Scala Hat is the Java Hat with an HUD and a propeller beanie attached.

The Haskell Hat

The Haskell hat is a beautiful construction of crystal and silver. It is a wonderful thing to behold. It’s the devil to keep the thing properly balanced on your head.

The Python Hat

The Python Hat is broad brimmed, stylish and proper. There is a correct way to wear it, and any other way will get you judged. The correct way is facing dead straight forward, no angle at all, and with a significant indent in the front.

The Ruby Hat

The Ruby Hat was made by this wonderful little milliner you’ve probably never heard of. Despite that, it looks remarkably like they took the Python Hat and added sequins. It is worn at an angle.

The Perl Hat