Behind the veil of Colorado's premier Interactive Agency

______ programming language sucks! Ryan Hadley

May 1st, 2008

Fill in the blank. I promise you it sucks.

PHP sucks.

Perl sucks.

Java sucks.

Ruby sucks.

Ruby on Rails especially sucks.

.NET sucks.

C++ sucks.

Python sucks.

While I do get quite a kick out of picking on my boss’s favorite, perl, I do recognize that each language sucks and each language doesn’t suck. Personally, you’ll probably never see me start a project in perl, c++ or anything Microsoft only. Mostly because there’s too big of a learning curve in it for me. I definitely favor PHP for most projects, but that’s soley because of familiarity. I could see myself choosing Java/Python/Ruby for some specific task over PHP. And Ruby on Rails just works in ways my brain refuses to think, it’s like trying to teach myself a new way to breathe.

So my personal favorite is PHP. I like that I can code up things in a flurry of creativity. If one night I’m feeling especially inspired I can crank something out fast as a proof of concept. Unfortunately for me, my interest vastly drops after I prove the concept and the proof of concept code is often used as the real code. So the ability to code “bad code” in PHP is both a good and a bad thing to me. I mean… I even wrote TweetWords while mostly drunk. Even though the code worked and didn’t have any glaring issues… it was ugly and hard to extend and maintain. That underwent a 75% rewrite to get most of the drunken design out of it and has been being improved weekly by my friend Ben and me.

So I know PHP well, I write a lot of spontaneous crap in it, and PHP is used in many open source web projects. This is why I tend to lean on it so much. And everything perl can do PHP can do, which is why I’d never start a project in perl. And I understand that some of the reasons why I like PHP are the reasons others hate PHP. Oh well.

So what is the right language to use? All of them.

You have to look at your situation and choose the proper language for the job. Some important factors off the top of my head are:

  1. Who is going to be writing it and what are they strong in?
  2. How complicated is it?
  3. How important is the ability to scale it?

I’ve seen extremely simple concepts implemented with massively complex designs and frameworks. They took 100 times longer to implement than they should have taken and any modifications to them took extra time too.

I’ve also seen more complicated concepts attempted to be done with too basic designs. They failed to scale and were a pain to modify and extend.

So pick the language that is right for the situation. And don’t be afraid to venture outside your comfort zone, you’ll never improve or learn anything new.

And lastly, here’s a handy chart using google and monster data.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Reddit
  • Slashdot
  • del.icio.us
  • StumbleUpon
  • Netvouz
  • ThisNext
  1. 7 Responses to “______ programming language sucks!”

  2. By Cris Barbero on May 2, 2008 | Reply

    Apparently from this graph the fewest people think .net sucks and there are the most .net jobs out there. Pretty obvious what is superior.

  3. By Ryan Hadley on May 2, 2008 | Reply

    Actually… it seems that I really messed up the google graph. I’ll try and fix it today. But .net has over 2 million hits for .net sucks.

  4. By Mike Minton on May 2, 2008 | Reply

    re: “And everything perl can do PHP can do, which is why I’d never start a project in perl”

    how about a REAL fork()?

  5. By Mike Minton on May 2, 2008 | Reply

    Some words of wisdom from a comment to this post: http://www.oreillynet.com/onlamp/blog/2004/08/perl_versus_php_5.html

    what can perl do that php can’t?

    “Nothing. General-purpose programming languages never differ in what they can do (Google for “Turing Complete” and “Turing Tarpit”). They differ in what they make easy.”

  6. By Ryan Hadley on May 2, 2008 | Reply

    Yeah, I was just complaining about that with php, I know. But I got around it and got the same task I desired completed in a cross platform way.

    proc_open ftw! You use pipes and stdin, stdout, stderr for communication. Works great in both Linux/Windows.

  7. By Cris Barbero on May 2, 2008 | Reply

    Ryan your post is still fatally flawed by mixing comparisons between languages and frameworks.

    And what is c doing on this list anyway. If you are talking power and speed C would beat php in an instant, albeit that that comes at the expense of programmability. If you want to compare modern languages at least use C++ or C#.

  8. By Ryan Hadley on May 2, 2008 | Reply

    Click the link. :-P it was c++. For some reason the google charts api change my “++” to “”.

    And the graph isn’t the point of the blog post. :-P

    The graph was just for fun.

Post a Comment