On 6/11/05, Alexandru Popescu <the_mindstorm / evolva.ro> wrote:
> I've run through this thread and i am finally writting this
> because i am in a way astonished.
> 
> Afaik Python uses bytecodes while Ruby is completely
> interpretative, so imo there is not possible to drive conclusions
> from this benchmark.

Which is one of the many reasons that I have a problem with the
alioth shootout. Ultimately, it tries to treat compiled, semi-
compiled, and interpreted languages equally. They're not. Compiled
languages will be faster than semi-compiled (bytecode), which will
be faster than interpreted. The level of speed difference is a
matter of scale, and that scale also matters on development time and
clarity.

> A lot of _comparisons_ are made in this list (I see everywhere
> Ruby code has fewer lines than X, Ruby dev is better than Y, etc);
> finally you may expect these other kinds of comparisons to take
> place. As far as the 1st comparison was made, I see no benefit
> from hidding behind the finger and disregarding from the start the
> possibility to look at other types of comparisons. I see here
> (n.b. on the ML) lots of ideas and open minds while speaking of
> ruby (_and just ruby_) and I appreciate this. But everytime,
> somebody/something is bringing into attention another
> tool/language something bad/sad happens and all this openminded is
> vanishing away.

Sorry, but that's just not true. People *are* open-minded on this
list with respect to new ideas. On the other hand, many of us don't
want to import those ideas which we feel will change the fundamental
nature of Ruby. Most of us don't *quite* agree on what that
fundamental nature is, but hey, that's the nature of individuals ;)

No one has said that Ruby can't afford to be faster, or that other
languages ARE faster. What we've said is that, in most cases, Ruby
is Fast Enough...and that it gives us pleasure to work with it and
we feel that we have a better grasp on our problem domain and that
we have a more powerful solution for less development time. All of
these items work together. You know what? Python developers
generally feel the same about their programs.

> While looking at Python and Ruby as both being oo scripting
> languages, I agree I would like to hear/see/read comparisons: from
> all possible points of view. And imo one of the most important is
> the runtime performance. Maybe the development is easier and
> cheaper, but if the performance is bad i will not do it.

See, the problem is that you can't really know what your performance
will be like until you've solved at least part of your problem
domain. The use of benchmarks -- especially brainless ones like
you'll find at the alioth shootout -- won't help you. Unless, of
course, your problem domain is writing benchmarks.

Look, there are people doing OpenGL work with Ruby. It's obviously
fast enough for *them*. ARPA uses Ruby to drive a large-scale Java
application. Rich Kilmer is working on making Ruby drive a Flash
application (what's the status on that, Rich?). Ara Howard uses Ruby
to do NOAA work on large weather pictures and to drive a cluster.
These are all things that require significant computing power. These
people have chosen to use Ruby. Why? Because it gives them pleasure,
and Ruby is Fast Enough in real world tests.

Will they complain if Ruby gets faster? Not at all. They'll be
ecstatic. But they're not complaining about Ruby's speed right now.

> Also, even if I have to write fewer lines in X, but the tools for
> Y are offering much more I will certanly go for Y (disclaimer: I
> am not speaking from the pov of writting a command line parser
> utility or some other little toy that parse the log of my server,
> but from the pov of developing a medium/large application).

IMO, this is a little short-sighted way to look at it. Sure,
VisualStudio gives you great tools to develop .NET applications.
*Damn* but does it ever give you great tools. (I've seen a preview
of what's coming in November. Damn, I say, Damn, that's nice.) But
you have to do a lot more with the languages behind VisualStudio to
get things done. In most cases, the Ruby program will be done or
deployable long before the .NET program (and *way* before a J2EE
program). Real world results will be measured. Real optimisations
can be performed.

> A few months ago - not very many - I have started looking at Ruby.
> And I am enjoying its ideas a lot. But, after some time, I am
> still not sure I will start working with it. I know, you may say:
> `maybe Ruby is not for you? (and maybe, I can agree with this). I
> must sadly confess that I haven't got the same impression while
> looking at Python (and from the sizes of communities I can deduce
> many others haven't felt the same).

You know, I'm not sure whether Ruby is for you or not. Have you done
development in it? Has it shown itself to be Too Slow for your
problem domain(s)? Does it matter if Ruby finished the job one
second slower than Python? Five seconds? Five minutes? Ultimately,
it depends on the job as to how that can be answered.

Just as another note, I think that the RAA is pretty active. It's
run on WEBrick through an Apache proxy. Wow, huh? WEBrick is a
pretty performant web server written in Ruby.

-austin
-- 
Austin Ziegler * halostatue / gmail.com
               * Alternate: austin / halostatue.ca