Cheers,
Like I said, I did. Rails is over 3 times slower than django for some
stuff, and ruby in general is far slower for EVERY single script I have
ever compared with.
So Ruby is slower than Python for your application.
The author does not say that Ruby is slow
Yes he does. Unlike the legions of mindless rails drones, Matz doesn't
try to pretend ruby is perfect. Here's a slide from his presentation
talking about what sucks about ruby:
http://www.rubyist.net/~matz/slides/rc2003/mgp00004.html
This slide shows that Matz know's that Ruby is slow(er) but the
important question is how slow it is.
Because of abstraction and verboseness. Java operates at a higher
abstraction level than C which make programmers more productive at the
cost of raw speed. The same argument can be made for Ruby vs. Java or
Ruby vs. PHP.
But the same argument cannot be made about ruby vs python, perl or
pike. They are all high level, dynamic languages that let you do
things quickly. Compare the lines of code in the linked benchmarks,
notice how ruby isn't any quicker to write code in, and it is much
slower.
The same argument can be made indeed be made for Ruby vs. Perl and in
some ways Python. Compare Ruby's OO vs. Perl's not to mention
MetaProgramming with Ruby.
We have also very complicated dynamic pages that cannot be cached in one
piece. But fragment caching makes it very easy to cache parts of the page.
The part that takes all the time is the part that can't be cached.
Caching trivial stuff like the menu doesn't help. If ruby is fast
enough for your needs that's fine, but don't lie to people and try to
pretend that ruby is fast, or that trading off its speed vs other
scripting languages buys you anything.
I do not say that Ruby is incredible fast. I say that in most cases it
will be fast enough and you should benchmark yourself. Further I see
great increases in productivity, even compared with Python or Perl.
This is no lie, this is my experience and opinion.
Buying 3 times the servers is an option if you pay less for the hardware
than for the developer time. In our case this is true.
True in my case too, but ruby doesn't save you any time over perl or
python, so its just paying 3 times as much for servers, and getting
no benefit in return.
Not true in my case.
I doubt that there is a more productive web framework in Perl or Java,
especially Java. Django may be another thing but I like to program im
Ruby and not in Python. From my experiences I can say that Djano is very
productive but not as productive as Rails.
Catalyst in perl, django in python, and trails in java are all comparable.
Trails is a little less productive than the rest because java is more
verbose and static, but catalyst and django are just as fast to work with
as rails, and both perform better. Catalyst is also significantly more
flexible. And for alot of the really simple "apps" that rails is
used for, maypole is actually faster to get stuff done in than rails.
Again, speaking from my experience Ruby on Rails is more productive than
Catalist or Django, but that depends on your application and skills.
I think that the discussion is stuck at this point as you claim one
thing and I another and the real arguments are gone.
I think you have been brainwashed by the hype, and don't want to admit
that perhaps other solutions are just as productive as rails, without the
crappy speed.
I am using Rails over a year now so I do not think that the hype got
into me. Maybe tha anti-hype got into you.
I can only restate that the discussion is pointless at this stage as
none of us will change its opinion and personal attacks are starting to
replace rational arguments.
Adam
Jonathan