I really don’t understand the extensive dicussions on such a moot point.
Running the same algorithm on two languages, and running a reasonably
complex application is different. As someone above already stated, get
10% and optimize it all you want. The main point will still be getting
project out of the door. Frankly, if performance is your primary
requirement, why would you EVER want a scripting language? These are
designed with ease of use in mind, and made from higher level
you want core performance, just write Assembly, or if you want (some)
portability, C code. Its been done before all these scripting languages
developed, and it can be done now.
The moot point is, that if you can’t get the project out of the door in
deadline, would you really need performance?
Ruby is slow… so was C when it came out because everyone was used to
Assembly. But C had its advantages, it was more portable than Assembly,
structured, and a slew of other features that just made the "developer"s
life easier, nothing more. What you can do in one language, you can do
the other. I’m talking about the results, not the way of doing it.
As far as i see, code in the language you like to work in, know how to
it well, far too many people don’t know how to implement the proper
algorithm in the proper place anyway, so care about your tools later
you hit a brick wall, but till you hit it, take the fastest route to
destination. That is efficiency.
Also, a lot of the books written by a lot of the greats were done at the
time where the hardware was limited, and the common developer required
certain ninja skills to do what they wanted. Now, its a little
You just can’t expect the philosophy of driving a moped to apply to
a ferrari. I’m not saying that you should just write crappy code as you
like, but just that you need to write good solid “code” and worry about
language when it gives you a problem. As knuth said, “premature
is the key to all evil (or atleast most of it) in programming”. – Have
had a problem with performance with ruby? with python? Just pick a
that you can actually learn, and pick a good book, take some time to use
well, design your project well, implement the proper architecture,
datastructures and algorithms and use whatever language you are