New! Check out the follow-up article More Languages that Suck.Everyone knows that programming languages suck, but which sucks the most?
I have conducted a scientific study to answer this question, and humbly present my findings below.
Methodology
All data for this report were collected from search results done through Google's Code Search, by searching for the phrase "<language> sucks" (without quotes) where <language> was one of these 10: C, C++, Java, JavaScript, Visual Basic, Python, Ruby, Perl, PHP and Lisp.
Occasionally, two similar searches would turn up different numbers of hits. For example, "C sucks" results in 35,900 hits while "c sucks" results in 49,600 hits. Where this is the case, the query with the greater number of hits is kept.
Results
The results seem to confirm conventional wisdom: Perl sucks the most, Ruby sucks least and all other languages fall somewhere in between.
It was surprising however to find that Visual Basic sucks less than JavaScript - I'd have thought it would be the other way around.
Rank | Language | Query | Hits |
---|---|---|---|
1 | Perl | perl sucks | 58,900 |
2 | C | c sucks | 49,600 |
3 | C++ | c++ sucks | 39,900 |
4 | Java | java sucks | 27,900 |
5 | Lisp | Lisp sucks | 19,100 |
6 | JavaScript | JS sucks | 13,400 |
7 | Visual Basic | VB sucks | 8,000 |
8 | PHP | php sucks | 3,000 |
9 | Python | python sucks | 2,000 |
10 | Ruby | ruby sucks | 500 |
Here's a graph of the above data (click to view larger version):
Operating Systems That Suck
Out of curiosity, I also tested for operating systems which suck. Again conventional wisdom proved correct: although Windows, Mac and Linux all suck, Windows definitely sucks the most.
Rank | Language | Query | Hits |
---|---|---|---|
1 | Windows | windows sucks | 60,000 |
2 | Mac | mac sucks | 58,200 |
3 | Linux | linux sucks | 49,600 |
Honorable Mentions
Surprisingly, a search for "C# sucks" returns only one result. I took this to be a statisitically insignificant outlier, suggesting that either C# sucks so badly that nobody uses it, or that those who do use it dare not openly challange the .NET regime.
Also, searching for files with COBOL's file extension (.CBL) reveals about 100 hits. Unsurprisingly, the query "cobol sucks" (no quotes) also has about 100 hits. I leave it as an excersize to the reader to interpret this result.
Conclusion
All programming languages suck, some just suck more than others. Thank you.
(If you liked that, keep reading...)
digg this article, dzone this article
14 comments:
Cool idea, but to state the obvious: it's reasonable to assume that when someone comments "perl sucks", he currently programs in perl -- etc. So if google has in its database 10,000 perl lines, but only 500 ruby lines, it seems likely there will be much more perl-cussing than ruby-cussing. Without taking this futher data into account, your post makes for a cute anecdote, but for a fallacious one.
Thanks visitor! I appreciate that you took the time to comment. I hope my satirical article came off as such. My "evidence" certainly wouldn't stand up to any scientific scrutiny - a fact to which I readily admit.
Thanks again for reading - I'm glad you were amused (it certainly was fun to write).
While you admit it wouldn't stand up to proper scrutiny, what the other guy said shows something interesting too...
Your figures on operating systems sucking... if we take into account the relative number of people using each system, Windows is easily the most popular, and at a guess I'd say Mac is slightly more popular than Linux (I may be wrong), so if you adjust for how popular the systems are, ie how many people must be using them compared to how many "sucks" comments are found... then Linux/Max get far more sucks comments per people using the OS's than does Windows :)
I'd also note that someone saying something sucks is not a very indication of how much it sucks. People only say things suck when those things have enough value to continue using while sucking enough to complain about. But when something reaches a certain threshhold of suckiness, we move from complaining about it while we use it to not using it at all. So the more useful something is, the more suckiness we are willing to tolerate, and the more likely we are to complain rather than leave. I'm not sure that leaves us with any real way to quantify suckiness. But maybe a real scientist could figure it out.
Hey now - I am a real scientest. A Computer Scientest (my B.S. says so :)
In any case, thanks for reading!
definitely a cool post. glad you made something funny like this.
if you wanted to take it a step further, you could compute the ratio of hits to the number of hits for that language. for example, there are probably much more c files in the google code search than ruby files, so comparing them on raw numbers isnt fair.
sucks results / total results would give much better results.
i would love to see that. =)
Glad you liked it! I've been getting a lot of comments that the analysis wasn't really fair/scientific/etc. I plan to address this in a future post ... Thanks for reading!
But if you use Google to search for life sucks, 23,400,000 hits are returned. So its safe to say that in general computer languages don't suck at all (at least, by comparison),
-Hey now - I am a real scientest. A -Computer Scientest (my B.S. says so :)
-
-In any case, thanks for reading!
B.S. for bullshit? If not you wasted your money on an education that leaves you unable to correctly spell the name of the degree you supposedly obtained. Twice!
#!/usr/local/bin/perl
# good-catch.pl
$mypost =~ s/([sS])cientest/\1cientist/g
waiting for the follow up article!
Hey anonymous from 4 days ago!
Those "B.S." mispellings are on purpose. Do you not get it?
Well, let us refrain from making any more "stating the obvious" comments on this article. Although, surely, this mutual questioning of each other's intelligence was fun. Thus I refer to my first comment on this article and neatly close the circle I began.
This is a great way to quantify how much a thing sucks, from here on known as suckage. I think I'll apply this to everything, politics, religion, shampoo, etc.
You should probably do the searches with quotes, so search "Foo sucks" rather than Foo sucks.
Think about a comment in, say, a C++ app:
// C++ sucks, needs build in perl-regex
Post a Comment