Ruby Impressions

Adam Spitz adamspitz at
Sun Jan 13 04:01:44 EST 2002

OK. Last thing that I want to say, then, since I've obviously offended
people, and we're not going to get any further that way.

The thing that really clarified the cultural differences in my mind
was when I wrote...

> >This makes my code *easier* to read, as long as the reader
> >knows what the init_attributes() subroutine does.

...and Andrew Dalke responded:

> Bingo! And the reader won't know what it means without
> digging through the rest of the system.

There's a fundamental difference in values here. I proposed a function
that would make the code harder to read until you learn what it does,
but *easier* to read *after* you learn what it does. This seems
perfectly reasonable to me - it only takes a few seconds or minutes
for me to look up a function to find out what it does, and it makes my
code easier to write and easier to read from that point forward. I
don't want to write my code with the assumption that the reader can't
learn any new idioms, because that seriously limits my ability to
express my intentions and eliminate duplication.

But Andrew (and probably lots of other Python programmers) reacted to
my statement with immediate distaste, because... well, he's made his
reasons clear, and probably most of you agree with him anyway. That's
perfectly reasonable too.

Ruby is made for the people out there who nodded their heads when I
described my reasoning just now. It's a language that's harder to
learn than Python is, but a bit less restrictive than Python is - and
the *culture* is a *lot* less restrictive than the Python culture is.
Some people will like this, and they're the ones who might enjoy
taking a look at Ruby.

The rest of you should stick with Python and thank your lucky stars
that you don't have to use this silly Ruby thing.

Now let's all go make fun of some Java people.

Adam Spitz

More information about the Python-list mailing list