[ Go back to normal view ]

BW2 :: the bitwise supplement :: http://www.bitwisemag.com/2

Ruby’s Inferiority Complex
Why does criticism of Ruby bring out the worst in people?

19 March 2007

by Huw Collingbourne

Little did I know, when I asked Matthew Huntbach to write an assessment of the Ruby language, how much of a storm his article would provoke. Both here on Bitwise and out on the far reaches of the Internet on places such as Reddit, Ruby aficionados have been venting their spleen upon Doctor Huntbach, calling into question everything from his academic credentials to (I kid you not!) his taste in shirts.



Hell, it seems, has no fury like a Rubyist scorned.

What rather few of Matthew Huntbach’s critics have bothered to do is to make any attempt at answering the points made in his article. I haven’t seen much debate, for example, of his criticism of the numerous alternative Ruby constructs available for performing the same tasks (“[when there are] several different ways of doing something … it seemed to be the philosophy of the language to provide all of them.”], or the inherent problems associated with implicit typing (“If I am tracking down the source of some buggy behaviour, I might start by looking for the class of the object whose method call led to the bug. The lack of types in Ruby would make that more difficult, but on top of that I have to face the possibility that the method may have been redefined somewhere else during code execution, maybe for the whole class, maybe for the individual object.”), or the fact that Ruby class definitions are not definitive (“There isn’t one class definition I can reliably say completely defines an object’s behaviour”).

Frankly, I would have been more impressed if those people who so despise Doctor Huntbach’s views, had taken the time to contradict them. True, there has been a bit of discussion about whether or not array addition should sum the elements of a numeric array or concatenate them. But most of the other points made in the article have not been addressed at all.

Instead, Ruby’s most ardent supporters have resorted to name-calling: ‘fascist’, ‘prick’, ‘Never mind what’s wrong with Ruby, what’s wrong with you?’ and other, yet more colourful, examples of informed debate which I shall omit mentioning. If Ruby’s future relies upon this kind of lucid, thoughtful commentary, God help it!

But an even greater crime, it seems, than his criticism of the Ruby language was his dislike of Why’s (Poignant) Guide to Ruby. This is a PDF book on the Ruby language which is decorated with numerous cartoon foxes and a somewhat unconventional style of writing. Some love it; others loathe it. This is hardly surprising. There is, indeed, a similar division of opinion on books ranging from War and Peace to Harry Potter and The Goblet Of Fire (though those mighty tomes, I would be the first to admit, have rather little to say about the art of programming). The author of the Poignant Guide (a mysterious individual named ‘Why’) took the criticism to heart, however, and, as his right, went on the offensive…

And speaking of ‘offensive’, in response to Why’s critique, we here again find the Ruby supporters’ army weighing in with their, by now, familiar well-reasoned, elegantly expressed criticisms of Matthew Huntbach’s personal and professional competences (“Fuck that guy”, “fuck the academic nerd”, “the guy is a total academic failure. He’s talking out of his ass.” etc. )
http://redhanded.hobix.com/cult/whatSWrongWithRubyHahYeahItSMe.html

Really, if Ruby is such as great a programming language, you would have thought that the arguments in its favour might have been slightly more fluently expressed. My heart sinks when I read this kind of babbling nonsense.

Look, I personally am betting my career on the success of Ruby. My own company has developed a Ruby IDE for Visual Studio. Clearly I want Ruby to be a big success. That fact must be so transparently obvious that I hardly think I need to state it. And yet, in spite of that, some people believe that the simple fact that criticism of Ruby sullies the pages of Bitwise shows that I too have an anti-Ruby agenda.

In my view, it is a sign of Ruby’s immaturity that those people who support it are so afraid of criticism. It almost smacks of paranoia. I saw this happen with Java, a decade ago, when that language was first developed. At the time, people used to write poisonous letters to the editors of magazines whenever I dared to point out any flaws (such as bugs in the early java libraries or the language’s slowness of execution). They weren’t complaining that I was wrong (I wasn’t). They were complaining that I said in public things which they wished to remain unsaid.

Ruby programmers need to start getting over their inferiority complex if the great, bad world outside the confines of the ‘Ruby community’ is going to take the Ruby language seriously. The kind of puerile name-calling which has followed Matthew Huntbach’s article certainly won’t do Ruby any favours.