Tuesday, December 27, 2005

Ruby Honesty

In case you missed the opinion piece A little anti-anti-hype on O'Reilly Ruby it's worth a read. I found the following paragraphs particularity insightful:

Pedantry: it's just how things work in the Python world. The status quo is always correct by definition. If you don't like something, you are incorrect. If you want to suggest a change, put in a PEP, Python's equivalent of Java's equally glacial JSR process. The Python FAQ goes to great lengths to rationalize a bunch of broken language features. They're obviously broken if they're frequently asked questions, but rather than 'fessing up and saying "we're planning on fixing this", they rationalize that the rest of the world just isn't thinking about the problem correctly. Every once in a while some broken feature is actually fixed (e.g. lexical scoping), and they say they changed it because people were "confused". Note that Python is never to blame.

In contrast, Matz is possibly Ruby's harshest critic; his presentation "How Ruby Sucks" exposes so many problems with his language that it made my blood run a bit cold. But let's face it: all languages have problems. I much prefer the Ruby crowd's honesty to Python's blaming, hedging and overt rationalization.

I'm not involved enough with the Python world to know if the first paragraph is really accurate, but from my pokes and prods from the perimeter it seems true enough. What really got me thinking however was the second paragraph about Matz and Ruby. The whole demeanor of the Ruby crowd really is a lot more laid back and plain speaking. (Note to self: this probably partially explains why I like it). As a futher example of like minded thinking check out the post Dividing with 'such careless honesty' by David H Hansson on the reaction on Slashdot to the Rails tag line: "...it works mostly right, most of the time, for most of the people". If you don't want to read it all here's the summary bits.

Naturally, I don't just like this statement for the outrage it caused. I like it because it's a dividing issue. One which can garner as much love and appreciation as it can cause outrage and despair. It exposed a set of deep cultural lines that in my mind separated the wheat from the chaff.

So if that statement rubbed you the wrong way, it's an early warning signal that Ruby on Rails wouldn't be for you. It's kinda like applying the principle of "fail fast" to tech stack selection. There's no reason to waste your time, or that of the Rails community, by investigating further, if this level of truthfulness is rejected in your bones.

It would be easy to misunderstand the above as a religious argument - you must have faith in Ruby, Brother - but that would miss the real more human point and the great irony in all of this. The Ruby enthusiast isn't preaching programming religion, they're simply excited about being productive and the creative potential of the platform's tools, warts and all.

Post a Comment
The Out Campaign: Scarlet Letter of Atheism