Tuesday, December 20, 2005

Bruce Eckel's post, and Ruby/Python dialogue

Firstly, I'd like to say that I would like to see more positive dialogue between Python and Ruby users and developers (This isn't just because I would like to see Ruby steal some smart Python people via a process of assimilation). The Ruby community is usually well known for its open-mindedness and general niceness, I don't understand why some members have a dislike of Python (I personally prefer Ruby, but Python would be my 2nd favorite language). I don't think superficial Python critics ( e.g. "significant whitespace, wtf? must be a bad language") are representative of the Ruby community as a whole (I hope not), and similarly I don't think superficial Ruby critics ("influenced by *Perl*, wtf? must be a bad language") are representative of the Python community. In this spirit I should probably take Bruce Eckel's recent hyper-enthusiasts post as a welcome sign that more and more prominent programmers are taking notice of Ruby (and Rails, of course), and ignore the labels and generalisations he applies to Ruby and Ruby users.

However I do take some issue with Bruce Eckel's post (My point is similar to the one David H. Hansson makes in his post, but he makes it in a more outspoken style). Eckel's main criticism of Bruce Tate's book is that he dismisses languages without taking the effort to learn them. In Bruce Eckel's post, and especially in his previous post some years ago, which I clearly remember (the rest of the post was quite similar to the quotes that remain in on ruby-talk IIRC), Eckel seems to criticise and dismiss Ruby without showing that he has taken the time to learn it. First time round, this was the paragraph that I remember most strongly:

For some reason, the creator of the language saw Python and decided to do a clone, and people who had never used Python thought it was a good idea. Harsh, maybe, but that's my impression: if you've used Python at all, you wouldn't give Ruby a second glance.

This time it seems to be along the lines of "there are influeces from Perl, ergo it must be a bad language". So the problem to me is that he comes across as the pot calling the kettle black.
The fact that he criticises different parts of Ruby this time around, without acknowledging that he criticised Ruby before, and that some of these previous criticisms were somewhat rash and unfounded, is a secondary issue, which I think we would all be willing to overlook if he wrote a second post, critiquing Ruby from the perspective of an example script he's written, or some evidence that he's taken the time to learn Ruby and to try to think in the language, something he should be quite good at doing :-) Of course, if he suddenly got excited about Ruby and decided to write "Thinking in Ruby", that would be fantastic. Stranger things have happened ;-)

1 Comments:

Blogger slyphon said...

Let me start off by saying that I met Bruce Eckel at Pycon 2003, and he's a really nice guy. His comments about the Ruby language make me somewhat sad, not because the eminent Bruce Eckel doesn't think much of it, but on the whole I respect Eckel's texts and this comment doesn't do the man's intelligence justice. I think we in the ruby community should be magnanamous and say, "Gee, that's really too bad."

I think in general, if you sat most Python or Ruby hackers down and had a calm rational discussion, that they'd agree on more things than not: the fact that Perl looks like line-noise, and PHP is an affront to all that is Good and Decent in this world. ;)

I came to Ruby from Python, and came to Python from Java, and came to Java from C. Each step of the way, I found something interesting, something annoying, and something unique about each language. These are all just tools and some of them are going to be better in individual situations than others. I wouldn't write an operating-system kernel in Python (although I was involved in the Twisted project, which comes close), I wouldn't write a web application in C and wouldn't write Java unless I was paid very well. ;)

We should all keep an open mind, as there was a time in each of our lives when we thought something was very cool that wasn't, and something that is now our favorite was terrible.

5:28 pm  

Post a Comment

<< Home