A painting of me

Get Off My Lawn

   21 August 2008, mid-morning

Unspace discuss their past, and the future of Ruby. There are a lot of interesting links in the post, but of particular interest was the post about Hadoop by Ted Dziuba. (The subtitle, “On the emasculation of Twitter and Dirty Harry” is certainly enjoyable.) There is a lot of interesting stuff being done in Ruby, but like Dziuba, I find a lot of it quaint and half assed. Sometimes I get the feeling that the community around Rails seems to be a bit of a cargo cult. You have a core group of people who know what their doing, and a lot of people who echo what the core says, but who perhaps don’t quite grasp what’s going on. Someone discovers REST and all of a sudden everyone is going on about RESTful this or that. Someone discovers automated testing and everyone is going on about Runit and Rspec. Mind you I’m probably just an elitist C++ programmer. One day I’ll write a longer blog post about that, but not today.

Update: Rethink sort of mangled one of my comment’s, which i’ll repost here:

Pete, I get what you’re trying to say with this post. As I said in my first comment, I do find it interesting people are talking about functional programming or test driven development or whatever else. Is Ruby the driving force here? I think it has more to do with Digg and Reddit than programming languages.

Not to single out Ollie’s comment — which I will now do — but I think it illustrates something I find common to the Ruby/Rails community, which is this sense it’s a bit of a cargo cult. Duck Typing is the bomb — why? Mixins are the bomb — why? Stoustrup wrote a whole book on his design choices for C++, and most of them derive from the fact he wanted things to be quick and memory efficient. That’s why you end up with static typing, not storing integers in objects, and junk like this. He’s a smart dude, and i’m sure he was well aware of Smalltalk when developing C++. With respect to mixins, you should read up on multiple inheritance. Just because C++ code isn’t as pretty as Ruby code isn’t a good reason to dismiss it out of hand. People do more with programming languages than write web sites. Maybe one day we’ll be writing operating systems in Ruby, but that day isn’t here yet. Ruby evolves from a different set of design choices. Ruby and C++ are both suited for solving different problems. You can make similar arguments in defence of PHP or Java.

Maybe I need to wait a little bit longer, and ebb will make C programming sexy.

To get back to testing. Ruby, as far as I can tell, hasn’t made testing cool, it’s made a particular type of automated testing cool. So people write specs and unit tests all that junk. Hopefully there aren’t bugs that spring up because of deployment issues, network latency, web server bugs, etc, etc, etc. I never see blog posts about boring stuff like this. I do see lots of blog posts about how to unit test your models in some new and fancy way.

Maybe i’m just glass-half-empty when I read the same articles you are Pete.

I want to believe. I really do.



Don't be shy, you can comment too!

Some things to keep in mind: You can style comments using Textile. In particular, *text* will get turned into text and _text_ will get turned into text. You can post a link using the command "linktext":link, so something like "google":http://www.google.com will get turned in to google. I may erase off-topic comments, or edit poorly formatted comments; I do this very rarely.