Gregory K. Ruiz-Ade wrote:
On Aug 20, 2006, at 7:57 AM, Lan Barnes wrote:
So here's my pitch. The money saved in development time and maintenance
by using scripting languages for apps more than offsets any step up in
memory or CPU speed that the clients might need, if any boost at all is
needed.
I would really like to take the opportunity here to point out that the
difference isn't between "real programming" languages and "scripting"
languages, but rather between the categories of languages which are
interpreted, runtime-compiled, or just-in-time compiled versus
categories of languages which are pre-compiled to binary executables.
Umm... so which languages fall in to which category. Let's see (I'm not
clear on the difference between runtime-compiled and just-in-time
compiled, but I'm guessing runtime-compiled means the whole thing gets
compiled when you start it up):
C: you can get that interpreted, jit'd, and pre-compiled to binary
executables.
C++: Last I checked the interpreters sucked, but you can definitely do
jit'd and pre-compiled.
Java: At various times I've seen all 4.
Perl: interpreted, jit'd (with parrot), and compiled thanks to perl2c
type hacks
Python: Basically all 4 by virtue of Jython, not to mention the various
runtimes that directly do variations on the above.
LISP: I've definitely seen interpreted and compiled. I'm pretty sure
I've seen the other two but I can't place it right now. Certain it can
be done.
...
Bottom line: a programming language is nothing more than a way of
expressing a program, and is not bound to a particular implementation.
As such, discussions about the pros and cons of various approaches to
execution models are really not a language debate, and given how
religious people are about their languages, doesn't serve the discussion
terribly well.
Insofar as interactivity, _I_ have a hard time telling the differences
between well-designed GUI applications built from either camp of
programming languages. I'm a very impatient man when it comes to
computer interactivity, too.
Most of what people pick up on are differences in the default GUI
widgets, and more often than not that just means an application hasn't
had as much polish as it should. That said, there are aspects of the
runtime that can rear their ugly head from time to time. Again, I'd
argue this is more an issue of the quality of the implementation than
even the execution model (there are inherent trade offs with all
choices, and good implementations mitigate the down sides).
--Chris
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg