M
mutahhir hayat
[Note: parts of this message were removed to make it a legal post.]
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 the
10% and optimize it all you want. The main point will still be getting the
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 structures. If
you want core performance, just write Assembly, or if you want (some)
portability, C code. Its been done before all these scripting languages were
developed, and it can be done now.
The moot point is, that if you can't get the project out of the door in your
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, was
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 in
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 use
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 when
you hit a brick wall, but till you hit it, take the fastest route to your
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 different.
You just can't expect the philosophy of driving a moped to apply to driving
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 the
language when it gives you a problem. As knuth said, "premature optimization
is the key to all evil (or atleast most of it) in programming". -- Have you
had a problem with performance with ruby? with python? Just pick a language
that you can actually learn, and pick a good book, take some time to use it
well, design your project well, implement the proper architecture,
datastructures and algorithms and use whatever language you are comfortable
in.
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 the
10% and optimize it all you want. The main point will still be getting the
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 structures. If
you want core performance, just write Assembly, or if you want (some)
portability, C code. Its been done before all these scripting languages were
developed, and it can be done now.
The moot point is, that if you can't get the project out of the door in your
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, was
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 in
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 use
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 when
you hit a brick wall, but till you hit it, take the fastest route to your
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 different.
You just can't expect the philosophy of driving a moped to apply to driving
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 the
language when it gives you a problem. As knuth said, "premature optimization
is the key to all evil (or atleast most of it) in programming". -- Have you
had a problem with performance with ruby? with python? Just pick a language
that you can actually learn, and pick a good book, take some time to use it
well, design your project well, implement the proper architecture,
datastructures and algorithms and use whatever language you are comfortable
in.