I have been writing a lot of serious blogs recently, about depression and stuff, and it’s starting to depress me. Seriously. So I think it’s time to lighten the mood a little. Which I’ll do by insulting your favorite programming language. Why you ask, would I commit this travesty? My dear sir, I can think of three reasons.
1) I am bored, and have nothing better to do.
2) I feel pretty smug, sitting at my home, knowing there is nothing you can do when I insult your coding language. Until they invent something like this:
So without much further ado, Your favorite Programming language sucks.
1. C Oooh. So you heard you have to learn C, because Joel Spolsky told you. How it’s the best language, close to the metal blah blah blah. Well, once you have spent 20 hours debugging a segfault because some dick forgot to check a dangling pointer, let me know how fun close to the metal is. Or try spending 10 days finding which of the million functions in your code isn’t freeing memory. Oh yes, boy, you’ll be really loving C then.
Let me tell you how programming in C feels: Form a fist with you hand. Go on, do it. Now punch yourself real hard. Congrats, you are now a C programmer.
2. C++ So let me get this right. You like a language with all the crap of C, but which then adds its own crap on top of it? And the layers of shit are piled on every few years?
C++ takes 45 minutes to compile a 10 line code, and the error messages are as long as the Lord of the Rings.
“And Gandalf returned after seventeen years. ‘I have been busy studying the ancient tomes,’ he said. ‘And the answer is clear. You have a template error. But I will not speak of it, for it is a language so foul, it must never be repeated'”.
Wait, did you say C++11? Here it is:
3. Java Hi there! I want someone who will write overly complicated and verbose code. I also need my JVM to crash every other day with the latest security hole. As for GUI, we will settle for a piece of crap that looks the same on every OS. You say you can help? Great!
4. C# So let me get this right. You weren’t man enough to learn C++, so you settled for this illegitimate child of Java and C++? Go write your Windows code, you weenie. Don’t you know all the cool kids are on Linux (all three of them) ?
5. Visual Basic I can’t make fun of a language that is stopping crime and catching killers.
6. Lisp, Haskell and other functional languages Of all the languages, none are more contemptible than the so called mathematically elegant functional languages. At least the other languages solve a real problem. The Lisp/Haskell crowd lives in a dream world where they wear a monocle, drink fine wine and write elegant code. They always show the same toy examples. “If you are writing this convoluted made up example, Haskell is better than C.” Sure it is, grandpa.
No, reading SICP or the elephant book did not improve my programming. Reading 50 shades of grey, or any of the vampire romance novels will teach you more about programming than learning Scheme or Haskell will.
7. Delphi/Pascal Snort
8. Python Do you have permission from Your Leader to read this blog? Python is like the Scientology of Programming Languages. Everything has to be done the way the Prophet said. Or we are going to frown at you.
Look at us! We run a cult, and pretend it’s a programming language.
9. Ruby Look at me! I’m the language of the cool people. The ones who buy one cup of coffee, and sit for 8 hours in Starbucks to get free wifi. And talk loudly about how cool they are.
And in spite of all the talk about being programmer friendly, Ruby is used mainly by the Rails crowd, many of whom know no programming. Hey Ruby! Shut up for a minute, so the rest of us can talk.
10. Perl Dudeyouaresuchamessylanguage,Isometimeswonderhowanyonewritesanythingwithyou.Ireallycan’tunderstandanycode.
11. PHP Why are you here? You mean you got some free time from crashing all those WordPress boxes? Don’t you have yet another security bug to fix? If you need more help in writing messy code, I’m sure Perl can help.
Edit: Got this great comment by sf:
At a first glance it looks just like what you wrote: a toy no more complex than HTML 1.0
Until you start digging into the object prototypes, closures and the whole “a function is an object” thing. Then it turns into a byzantine construct that may be studied by insane monks in forgotten temples in Tibet.
Seriously, it’s a Cthulhu wearing a mickey mouse mask.
sf, you win the Internet for today!
13. Any language not mentioned here Your lanaguge sucks so much, I can’t even be bothered writing about it.
14. LolCode and Brainfuck Bravo! Finally, someone who knows how to write the codez. Pat yourself on the back.
Edit based on Comments:
15. Go What about Go? It’s already gone.
16. Bash This comment by Gergely Szabo explains it all:
“Shell. Debugged a failed variable assignment for an hour until I noticed the extra whitespace around the equal sign. Again.
Makefile. Recipe not indented by Tab? Dude! Each line of the recipe runs in a separate shell. Your variables are forgotten. You should have remembered that.”
17. Finally, after a lot of requests, here is Rust
Rust is for masochists who like a weird syntax, and love to stand alone from the crowd, even it means they have to stand alone in the shed, crying to themselves Why doesn’t anyone love Rust!
Another great comment on Rust on Reddit by secretpandalord (which can apply to many languages, especially all functional ones too):
If I have forgotten any language, feel free to insult it in the comments.
PS: My book Python for Hackers is FREE for a short time (normally sells for $39). If you want it, enter your email below.
Subscribers will also get exclusive content I won't share on my blog.