Python vs. Ruby

John Roth johnroth at
Wed Jan 1 14:16:20 CET 2003

"Mike C. Fletcher" <mcfletch at> wrote in message
news:mailman.1041382562.17669.python-list at
> Why post sarcasm to the Python list?

To point out that any language that adds unnecessary syntac
complexity and then claims superiority is baring its hubris in

> To convince a Python user (or
> heck, any user who's used to polite society ;) ) of the superiority of
> Ruby you might try something along the lines of:

I wasn't intending to try to convince anyone of the superiority
of Ruby. Quite the contrary. The extra brackets have convinced me
that Ruby is not worth my time.

> """Ruby was created a long time after Python and PERL.  It tries to be
> better language based in part on observing these older languages and
> does these things differently as a result:

AFIK, Ruby did not use Python as a base. It used PERL. All of the
documentation says, quite explicitly, that the author's motivation was
to create a better language than PERL.

>     * breaking object-orientation to return new objects when sorting
>       sequences ;)

I suppose I could care less about breaking "object orientation,"
but I'm not certain how. My objection is that it breaks chained
application by returning None rather than the obvious result that
anyone would expect from the name. The results in actual code
are rather ugly.

The arguement that one language is "more object-oriented"
than another is, IMNSHO, specious, and making that kind
of claim tends to trigger my b8t detector.

>           o might also want to explain that it's not a hard thing to
>             at some point in Python (if the powers-that-be want to) by
>             adding "sorted" and "reversed" methods to the list object
>             (no clue why you want "append" to create a new list,
>             silly to me ;) ).

"sorted()" and "reversed()" are great names, especially when used
in combination with the existing "sort()" and "reverse()" names. Thanks
for the suggestion.

Whether append() returns a *new* object or not is irrelevant to
my arguement. The fact that it returns None is the wart.

John Roth

More information about the Python-list mailing list