Your Favorite Programming Language Sucks

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:

250793_slide3) I forgot reason three, but I’m sure it was something really funny.

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:

pig

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.

 haskell

 

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.

12. Javascript If you think Javascript is a language, you probably think HTML is a language too. Go write your HTML code, kid.

Edit: Got this great comment by sf:

You taunted Javascript for all the wrong reasons.

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!

Also, found this: https://www.reddit.com/r/ProgrammerHumor/comments/3649pa/when_i_feel_lonely_i_say_rust_sucks_and_instantly/

Another great comment on Rust on Reddit by secretpandalord  (which can apply to many languages, especially all functional ones too):

Well I mean, the easiest thing to say about any language is that its community is made up of poseurs and tryhards. And you’re always correct.

If I have forgotten any language, feel free to insult it in the comments.

PS: Interested in leveling up your Python and getting a great job? Check out the Python Apprenticeship Program.

44 thoughts on “Your Favorite Programming Language Sucks”

      1. HAI
        CAN I HAZ STDIO?
        VISIBLE “But it is a MARKUP language, so It *IS* a language.\n”
        VISIBLE “Javascript is a programming language because it’s Turing complete. Even if it is a really weird one.”
        KTHXBYE

      1. Well, I still love to talk with my computer. Most of programmers scream on it. And the best thing is, it help me to collect my garbage.

  1. Well you know if you can use C and Common Lisp then what else do you need really?
    Those other languages are for hipsters who think they are cool but what do they really know hey?

  2. Had a nice laugh at this one.
    However, I see in your about page you have spent several years working with low level code, including DSPs, you say.
    But, you have not made an insult at HDL languages… especially VHDL.

      1. Heh, yes that is true, the same applies for Lolcode and brainfuck.
        Maybe because today all you read about is software software software….

        No. 8 is justyfiable, “God wills it!” (Kingdom of Heaven)

        In response to no. 5 about VB, it is also impossible to make fun of excel which is used to disarm nuclear bombs:
        https://www.youtube.com/watch?v=96yy_Mf64iI , plus now with version 5.0, Excel has included Visual Basic for Applications
        to strike double force agains crime.
        :p

  3. I hate Python because it is glue code and a wrapper around C++ in fact it can’t live without it. Get beyond the basics in Python and you will discover how limiting it is and just as hard on the eyes and problem solving as any other language. Worse still Python is limited to single threads, yes there are probably workarounds but my narcissism is directed at Python specifically. Take that plus the fact its a language running in a vm like Java, unlike Java Python has no direct workarounds for speed. Only indirect glue/paste of C++ snippets might as well just write your own language from scratch if learning Python is the case. Simple does not mean better!!

    You would be better off learning C/++ or Java/Scala if you want to learn a real practical language.

    1. I am working with python for round about seven years now, and I have to say: It is a beautiful language, with a wonderful prophet ^^.
      It isn’t that limiting. I think you mean the GIL with “one thread”, but you do not have to worry about that or the speed with PyPy (a JIT compiler for python).
      And python is anything but limiting. With classes and metaclasses you can emulate (almost) all other constructs in other languages, and this is anything but limiting. Java is limiting. Do you have metaclasses you can work with in Java? No. Do you have operator overloading? No. Can you create classes at runtime? No. Are functions objects? No. You create “Runnable”‘s instead. This is ugly as hell.

  4. I prototype everything in straight C and implement it with finite state machines on a white board. I call this language ‘The Inferno’, and if you’re not using it, you’re basically brain dead.

  5. 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.

  6. Programming languages create fierce tribes around themselves, with developers often getting into “religious wars” over the pros and cons of each.

    I know everyone does all kinds of charts to show which language is more used. However, the reality is totally different. VB6 is one of the most used languages today. Let me give you some examples:

    https://www.facebook.com/MicrosoftVB/
    https://www.facebook.com/ms.Visual.Basic.6/
    http://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/3440221-bring-back-classic-visual-basic-an-improved-versi

    Make a search on youtube with the word “Visual Basic 6” and about 415,000 results will popup: https://www.youtube.com/results?search_query=Visual+Basic+6

  7. You taunted Javascript for all the wrong reasons.

    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.

  8. All the desktop python applications I’ve used are awful. They are extremely slow or fail to work and segfaults are frequent. Same with Java and other high level languages. The problem I see with these languages is that you can create a program without knowing how the computer works.

Leave a Reply