"jbritt / ruby-doc.org" <jbritt / ruby-doc.org> wrote in message news:<3F519252.3090408 / ruby-doc.org>...
> Well, I happen to think that Rubyists just have better taste.  Wouldn't 
> surprise me if that went beyond mere language choice.

Even if you meant that as a joke, the statement is actually at
the root of language wars. No sane people would argue tens of
messages that pie is better than cake. People have finally understood
the differences between tastes, regarding edible things (ok, some
snobs may state that people who like caviar have better taste than
those who don't, but those are not in the majority).

But when it comes to languages, there are just people with better
taste and people with worse taste. Language choice is often
based on some kind of meta-science. You can *prove* that something
can be expressed more compactly in Perl than in C++. Yet you can
show that there has been many excellent libraries made with C++,
that, when finished, are elegant to use and couldn't have been
made as nicely with Perl. Then people also like to go into the
fuzzier regions like "Python is easier to read than Ruby", stating
this as a fact of course.

Unless a language can be shown to be able to make a lot better
abstractions without reducing readability or comprehensability
(already a hard task to show objectively), then little can be said
about what language is better. Take Python and Ruby comparisons,
for example. These languages differ only in subtleties like
indentation vs blocks, self vs @, or Ruby's "pure OO" vs
Python's "almost pure OO" (that many consider very pure),
which bears little or no meaning in actual code. I've actually
seen a lot less arguments between C++ and Ruby/Python, as I've
seen between Ruby and Python. That alone goes to show that
the lenghtiest arguments arise from the most insignificant details.

I was quite humoured by this article:
http://www.cs.washington.edu/homes/kd/courses/pythonruby.pdf

It said having to use abs(-5) instead of -5.abs is a "major problem
with Python". And I'm afraid they were serious, even though that's
not far from begin complete nonsense. They were not concerned with
the syntactic difference between overloaded operator calls and normal
function calls, for example. Or that some might actually prefer abs(x).
Oh boy, would they enjoy Lisp or Scheme. For some reason, most of us
don't.