Ruby <=> Complicated -> 0

Elliotte Rusty Harold erases all doubt… and exposes the Ruby Array class for the hot mess that it is.

Good lord… is the rest of the language like this?

I understand (and agree with) the concept of the “Humane Interface”. Convenience methods for commonly needed functionality should be provided by a well-thought out API. However, Harold has clearly shown that Ruby’s Array class goes far beyond any reasonable standard of “commonly needed”. Case closed.

To be fair, Objective-C/Cocoa, my current favorite language/API to doodle in, suffers from much the same overburdened over-encumbered class structure as Ruby apparently does. And as a Cocoa fan, I’m willing to admit that… unlike Ruby the guys, it seems. Of course, Cocoa/NeXTSTEP is like, what…. a decade older than Ruby? So at least Ruby could have learned from earlier mistakes in other languages. At least NeXTSTEP/Cocoa has the excuse of being somewhat of a pioneer of large OO APIs/libraries.

For example, the NSString class has all sorts of extra functionality you wouldn’t normally expect from a humble string. Like writing strings out to files, and getting strings from documents located at a specific URL. A string that knows HTTP. Neat, huh?


About this entry