I have found this debate fascinating. However, I am not a developer - but aspire to move in that direction. I forwarded some of this debate to a couple of developer friends of mine and here are their thoughts:
*From Matt*: I've tested perl programs before, same program ran through an interpreter, and then same program ran as compiled machine code. And the compiled version wasn't just 2 times faster, it was WAY faster...but I can't remember by what factor. You know FORTRAN was the first compiled language, and it's specialty was scientific applications. ALGOL was another early language, and it had dynamic arrays. Lots of language that have come after ALGOL all use static sized arrays, and this was just a decision to make things faster with the static version. COBOL was designed for business reports in mind. And there have been many more. But C, was specifically designed for *system programming*, UNIX comes to mind. So C compiled, is still the faster gun in the West, and was designed for Operating Systems. Also there is another type of language, the Hybrid. C# is a hybird - not interpreted or compiled. Because it compiles into bytecode, which is like intermediate code. *From Patrick*: I agree with Matt that typically interpreted code is slower, however, I agree with the guys below as well. It depends on what you are doing. For example, if you are writtng an IO intensive program, most of your time will be spent waiting on IO (network or disk) and thus the savings probably are not worth it to use C. If you are writing just client network applications who cares. Get it done and make money wins. :) If you are writing a new OS or a database then you definitely should do it in a native language to maximize performance and scalability, but, very few software companies do this now. We rely on this work being done by a few other companies. Of course this causes all types of problems with platform compatiblity. If you are talking about multi user web based database applications most of the time is spent in your sql queries or network latency. Better to optimize your queries and indexes than write it in C. For exmaple, my company started with ASP scripting language the program was built in - interpreted with little caching help. We are currently slowly moving to asp.net with a compiled (bytecode - using vb.net and c#) but we do not notice speed improvements in this code nearly as much as we do by optimizing our database, increasing our backbone bandwidth and speed, removing redundant internet or database calls, etc. _______________________________________________ PLUG mailing list PLUG@lists.pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug