Site Map
:: Bitwise Courses ::
Bitwise Dusty Archives



ruby in steel

learn aikido in north devon

Learn Aikido in North Devon


Section :: Rants and Raves

- Format For Printing...

The Book Of Ruby - A Heretical Text?

The book they don’t want you to read!
Friday 22 July 2011.

Ruby is a nice, friendly programming language that goes out of its way to let you program in whichever way suits you. The same cannot be said of The Ruby Community.

The ‘Ruby Community’ is a loose grouping of Ruby programmers, many of whom consider themselves to be initiates into the secrets of something known as the ‘Ruby Way’. In recent times, some of the guardians of the Ruby Way have decided to attack my newly published Ruby book, The Book Of Ruby. Their campaigns against the book have been organised on Ruby discussion sites and launched on blogs and on Amazon. I get the impression that few (if any?) of the negative reviews of my book have been written by people who’ve actually read it. At least one Amazon reviewer openly states that he has not.

Now, I don’t want to tar all Ruby programmers with the same brush. There are a lot of very honest and decent Ruby developers who would not, I am quite sure, consider reviewing a book they have not read. But they are not the people who are shouting the loudest. Since a lot of the shouting is being done in my direction, I thought it reasonable that I might shout back a bit (No, no, what am I saying? Shouting really isn’t my style) – let’s say, then, that I thought I might take the opportunity, quietly and calmly, to offer a measured response to my critics.

Here it is....

Now, I cannot say that the bile and vitriol which my Book has engendered come entirely as a surprise to me. On every occasion in the past when anyone here on Bitwise has expressed anything less than an unqualified adoration for every single aspect of Ruby, they have been subjected to sustained and, often very personal, attacks.

For example, back in 2007, Dr Matthew Huntbach (Lecturer in Computer Science at Queen Mary, University of London) wrote a couple off opinion pieces on Ruby, in which he discussed some views on what he found good, bad, interesting or not so interesting in the language. His articles were called What’s Right With Ruby? and What’s Wrong With Ruby?. Huntbach’s discussion was calmly and carefully put and I anticipated that people with differing views would express their opinions in an equally calm and careful manner. No such luck! Here are some examples to give you a flavour of the maturity and civility of the discussion:

“You are a moron! ... Where did you get your Phd? A cracker-jack box?”

“Matthew Huntbach is a total Clown..”

“you fascist! it’s pricks like you who deligitimize the field of programming and suck the joy out of everything!”

To be fair, not all commentators were so narrow in their views. Take this comment, for example...

“Never mind the article, the real problem with Ruby is the community. WTF is wrong with you people? Decent article with some debatable points and the fanboys are frothing at the mouth.”

Sadly, the name-calling is all too typical of the level of debate that occurs when any criticism is made of Ruby. The Ruby Community does not encourage dissent.

My book has no axe to grind for or against Ruby. My critics vent most of their spleen on my code formatting and styling preferences (amongst my more egregious sins, to which I openly admit, are my habit of using four-space indents instead of the ordained two and that I very rarely put underscores in method names). Less time has been spent commenting on what I have to say about the behaviour and use of the Ruby programming language. Not that I think that many self-proclaimed ‘Rubyists’ would have much positive to say on that either. Unlike in many other Ruby books, the words ‘cool’ and ‘neat’ do not feature largely in my book. I take an entirely dispassionate approach to Ruby. I describe it as it is, not as I think it should be. When things aren’t done well (Threads, for example), I say so. I am not in the business of trying to proselytise Ruby. As far as The Ruby Community is concerned I am not one of their number. I am a heretic, an outcast. Invincibly ignorant.

And that is why some Ruby programmers will adopt all the means at their disposal to persuade you not to read my book. So be it. I’m not in the business of persuasion and propaganda. I tell it like it is. And, frankly, I intend to carry on doing so.

- See also my comments HERE and HERE.

AddThis Social Bookmark Button


  • The Book Of Ruby - A Heretical Text?
    23 September 2011, by Ray

    For what it’s worth, I’ve been through a few Ruby books. I found the agile series to be good. The Rails Way series I find somewhat difficult to follow. I just went shopping for something that was easy to follow and well written, and chose this book. So far it seems great.

  • The Book Of Ruby - A Heretical Text?
    3 August 2011, by Steve

    The problem is that you used inconsistent style with no rhyme or reason for it.

    I think you would have gotten less flack if you were at least consistent with your odd style.

  • The Book Of Ruby - A Heretical Text?
    3 August 2011, by Steve

    Wow, paranoid much?

    I read Huntbachs articles. I see where the vitriol came from. His posts were full of technically incorrect information.

    There is lots wrong with Ruby, but when people post falsehoods, it tends to annoy people

  • The Book Of Ruby - A Heretical Text?
    27 July 2011, by Nek

    Clever way to promote 3rd edition ;)

  • The Book Of Ruby - A Heretical Text?
    27 July 2011, by Robert Klemme

    I cannot comment on the book nor on the review quarrel. But I do see some contradiction between "Ruby is a nice, friendly programming language [...]. The same cannot be said of The Ruby Community." and "Now, I don’t want to tar all Ruby programmers with the same brush." - especially since the first quote is used as a tagline and the other one follows later in the text.

    In my experience the Ruby community is humble and friendly most of the time. There are some individuals who and some patterns of discussion which are pushing buttons thus triggering heated debate.

    A good pattern (for any community, btw.) is to join the community with an immediate suggestion to change some fundamental language design / library implementation / API - often conveying a notion of ignorance. This works almost everywhere and in this respect the Ruby community is no different than others.

    Kind regards


  • The Book Of Ruby - A Heretical Text?
    26 July 2011, by Rob Gleeson

    Thanks dude, I always wanted to be in a movie!

  • A misinformed defense
    26 July 2011, by James Britt

    A few points: Nothing about my Amazon review was organized in any way with anyone else. I was offered a copy for review, I reviewed it as I saw fit. End of story. Suspecting some cabal of Ruby initiates scheming an attack is delusional at best. Perhaps it was a poorly worded joke.

    Second, you go on about how the issue is code formatting, but *my* big issue is that the book does a really poor job of teaching Ruby. The crappy formatting is mere icing on a cake of fail.

    Finally, there was a discussion comment on Amazon from someone who says they did not read the book. They did not add a *review* but were taking part in a side discussion about one of the reviews, pointing out that the dislike of the book among experienced Rubyists was not an isolated opinion.

    I’m an author I’ve had people dump on my work, and it sucks, but that’s life. Blaming reviewers and posturing as some sort of bold, iconoclast victim doesn’t make the book any better. It does, however, make you look a bit foolish.

    • A misinformed defense
      26 July 2011, by Huw Collingbourne

      Thank you for your comments, James. I think it is pretty clear that we are unlikely to agree on this. If I look foolish, well, so be it. I suppose, that’s a risk I have to take. ;-)

      best wishes


    • A misinformed defense
      26 July 2011, by Peter Cooper

      Quite, James. I know that of all people you don’t believe in the existence of "the Ruby community" but instead a multitude of communities with different motivations. On this, I strongly agree. I also know quite well that you’re not my biggest fan, and I also know just how many known-by-name Ruby developers hold grudges (rightly or wrongly) against each other, so any sort of a "campaign" would require more cooperation than I know is feasible.

      Several people whose work or personal manner has been criticized by several prominent Ruby developers (think Mr. S and now Ilias) have invented an Illuminati-esque exalted cabal to blame. If only prominent Ruby developers worked together so well to produce such a thing..! As we know, it’s a mere fantasy, and I suspect neither of us would be invited to join in any case ;-)

  • The Book Of Ruby - A Heretical Text?
    26 July 2011

    I didn’t read your book (yet at least). I know that most of the ruby programmers will freak out every time a chunk of code does not follow the most common ruby style guides, I got mad too when is see this Java like conventions and mixed styles within some lines. Personally I think it’s kind of good to have that pressure over you and force yourself to write code that works, looks good and is easy to read.

    That been said lot of times public known members of the community (most of them creators/maintainers of the most used projects) make fun of others programmers based on really stupid things and/or in very impolite way creating this image of "The Ruby community - Elite members only". It just feel like you have to become a master programmer using other languages, getting help from other communities and once you have a sharp mind and style you can go on and speak out loud to the Ruby Community without getting hurt in the process.

    I really like how things are going with Ruby as language but I really feel bad about the hostile experience that any newbie has to go throw before feel/win a comfortable position.

  • The Book Of Ruby - A Heretical Text?
    26 July 2011, by Avdi Grimm

    It seems to me you’ve constructed a strawman. Every critique I’ve read so far of your book says "it’s a good book, except for the atrocious coding style". I don’t know where you’re getting this notion of being persecuted for criticizing the Ruby language. Maybe I’m reading the wrong blogs, but I haven’t seen anyone take exception to your criticisms of the language.

    Is deviation from widely accepted style guidelines, alone, sufficient grounds to dis-recommend a book? I’d say yes. I’d do the same whether it was a Ruby book, a C++ book, or a JavaScript book. No matter what you use in your private projects, egregiously idiosyncratic code style has no place in a programming book aimed at novices. In a community where Open-Source contribution is the norm and 99% of the OSS projects have the same essential code style, teaching a new programmer an idiosyncratic style just puts a needless stumbling block in their path to mastery.

    • The Book Of Ruby - A Heretical Text?
      26 July 2011, by Huw Collingbourne

      Thank you for your comments. I’ve already expressed my views so I hope you won’t mind if I refrain from further comment ;-)

      best wishes