This is my second (or maybe third) time starting off on Agile Web Development with Rails—Second Edition. Yeah, it’s for work.
From reading through scads of Rails and Ruby code I feel I have an appreciation of the language and framework, for the most part. I still miss WebObjects, a lot, when I have to cobble solutions the Rails way, but that’s ten years of working with WebObjects, I suppose.
The one thing that really, really bugs me about Rails so far isn’t the language, or the framework, it’s the book above. I get to about page 28 (and I’ve only managed this far because I’ve skipped a lot of the overt crap at the beginning) and I feel the urge to… well, to write a boring blog post about how much I don’t like the book. The tone the authors take is nigh on condescending. It’s a Kool-Aid(tm) view on web frameworks. I know that it’s a book about Rails, and how great it is to start programming in Rails, but they tend to attack their fellow scripting languages a little too hard and heavy, and sometimes, it seems to me, blatantly ignore certain solutions that compete more closely with Rails.
I suppose this is the “feature” of opinionated software, which is what coding by convention is, in a sense — one man’s convention is another man’s shackles. And this, I suppose, is where I feel I won’t ever feel at home in Rails code as I would in, say, WebObjects code. Rails likes, really, really likes you to do things its way, which is fine, if a bit bossy. Like the kid down the street who you sometimes play with, but there always wound up being a fight when you wouldn’t follow his directions, trying to best your Q-Bert high score, ending with you storming out, back up home. WebObjects is more like the laid back friend with all the gear: toolbox, Colecovision, guitar, drum set, batting cage, swimming pool, and real working car to tinker on, if you’re so inclined. And he was always cool about it, do whatever you want, and he’d watch you flounder a bit, trying to figure out why the engine of the car wasn’t starting or something when you tried to run an electrical cables from the starter down to the (oh man, here’s where my car knowledge just kills the metaphor), umm, engine, when all the while he was just standing there, not being smug about it, but there was the key in his hand, just waiting to get plugged into that ignition and get you going the easy way.
(Of course, I’d be remiss if I didn’t also note that all of WebObjects’ books around the house happened to be three hundred or so pages thick; it was just that on all three hundred pages was printed “Documentation forthcoming.” :))