David R. MacIver's Blog
The (Programming Language) Hat
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

Comments
David Stark on 2011-06-20 12:19:41:
More ideas:
The lisp hat is probably a beret.
The PL/I hat is one of those giant straw hats with a dozen fruit and a
bird on it. But spraypainted beige.
The BCPL hat is a paper hat. It’s very quick to implement, but is not a
very good hat.
The MUMPS hat is not actually a hat. It’s a rabid weasel.
Rob on 2011-06-20 19:23:36:
The MUMPS hat is a rabid weasel when you call functions with their full names, it turns into a rabid badger when you start abbreviating them to the initial character
Erik Will on 2011-06-20 15:09:24:
The PHP Hat: Designed to fit on your head, but actually only fits on your knee.
ben on 2011-06-20 15:09:32:
The Scheme hat is obviously a wizard hat.
Sriram on 2011-06-20 15:13:58:
@ben
Yes , the Scheme hat is a wizard hat. you can do anything and everything
in Lambda.
Todd on 2011-06-20 15:14:41:
The PHP hat: http://www.partycheap.com/v/vspfiles/photos/60225-2T.jpg
freetstar on 2011-06-20 15:15:47:
it reminds about if programming language are cars...
Nope on 2011-06-20 15:29:55:
are you implying that the lady on the photo knows perl ?
david on 2011-06-20 15:46:25:
Our royal family are surprisingly talented.
...but actually I was implying that Perl is a lovecraftian monster and that putting it on your head is likely to get your brains eaten.
legoooooooolas on 2011-06-20 15:42:28:
The Fortran Hat : A huge square box weighing 15 metric tons, with “HAT” written on the front in 3000000 pt text.
l0st3d on 2011-06-20 15:43:56:
Clojure is a brand new Leopard-Skin Pill-Box Hat
meanguy on 2011-06-20 15:57:38:
B-. Great concept but I want to read the version of this post written by someone who wears a Writer’s Hat.
david on 2011-06-20 15:58:30:
meow. Novelty accounts are much cuter on reddit.
Someone on 2011-06-20 16:08:06:
the C# hat is a hairpiece
ikbel on 2011-06-20 16:20:21:
This post would be better with photos of hats in each example...
matt on 2011-06-20 16:20:21:
i tried to upvote your comment but then... yeah.
blah blah blah on 2011-06-20 16:25:00:
it’s always annoying to find comments like this, which say - humourously or not - that perl programming somehow implies brain damage. one of the hallmarks of brain damaged person is limited thinking capabilities. they can not think outside the box. they can only think inside the box, a box which is in fact fictitious.
another interesting thing is, brain damaged and mentally retarded people think that others are mad ! they go”no one understand me. i cool :( sob sob sob :( ”
the perl programming motto has always been -- tmtowtdi. i.e, dream it up and think outside the box fellows.
seen from this sense, it is ironic python, ruby, java programmers consider that their language is sane. they live and code from within a box.
unix and perl are ugly. live with it. but it’s the only decent way to make the computer dance.
david on 2011-06-20 17:06:23:
Here. This is for you. http://www.youtube.com/watch?v=tVFBK9GhS5Q
blah blah blah on 2011-06-20 18:55:09:
thanks for posting this link. now everyone can do something better than reading this _fail_ post.
david on 2011-06-20 21:54:11:
You’re adorable. have a lollipop.
Hercynium on 2011-06-20 17:38:49:
preach it, brother.
Mazbot on 2011-06-20 16:47:59:
The C++ hat is just a regular hat, except that it has approx 5 ft of fishing line attached to the brim and, at the end and tied to its trigger, a loaded .44 magnum that will shoot you in the foot if you make a move.
Runtest on 2011-06-20 17:54:19:
The VB.NET hat.
Those little baby hoodies you cover the tops of young ones with. Requires a pacifier and a full time FCC member to sensor what you do.
Dave Hall on 2011-06-20 18:56:00:
The javascript hat is actually a rather good hat. Unfortunately, most people wear it backwards, or inside-out, so it’s got a terrible reputation.
Waxor on 2011-06-20 19:10:57:
The Assembly Hat : a sheep and a pair of scissors
@ndy on 2011-06-21 09:50:24:
I think that the assembler hat is probably just a bunch of hairclips
retroj on 2011-06-21 04:49:31:
ruby hat: http://4.bp.blogspot.com/-iqjJvwnUfFk/Tb1cmDJYCcI/AAAAAAAAA04/x9jZbehkSpc/s1600/tumblr_l5vnogZc3R1qz8ui7o1_400.jpg
Will on 2011-06-21 06:31:22:
I’d say the C++ hat is just the C hat, with feathers and bells on it
Hans on 2011-06-23 08:58:25:
Nothing like hats to spark a programming language flamewar.
I like Perl myself, and this hat is fitting with all its curly bits
everywhere.
Every programming language have flaws - choose your poison.
david on 2011-06-23 10:21:12:
I actually have no particularly strong dislike for perl and keep meaning to learn it properly.
I do however have a particularly strong dislike for whiny self-righteous commenters who don’t read the post properly, and am always happy to school them. :-)
Vasudev Ram on 2011-09-15 19:18:53:
The Pascal hat is not just one hat. There are many types of Pascal hats, and you have to wear the right type on the right occasion, otherwise they will not work.
But the Turbo Pascal hat is different. It is more like the C hat. You can change the Turbo Pascal hat from one type to another.