In article <··········@atheria.europa.com>, ······@europa.com (Frank Adrian)
writes:
<snip>
> C++ is not Lisp. Trying to graft closures into C++ would destroy
> its vaunted efficiency (a highly over-rated feature, given the
> excreable coding of most of its practitioners), which is one of the
> (VERY) few reasons to prefer it over a real programming language.
>
> If you want closures, strong type checking, and the efficiency
> of statically compiled languages, go with ML. Don't add even more to
> C++'s (mainly useless) clutter of features.
First (disclaimer to avoid immediate flamethrowers)...
I've been a dedicated Lisper for years, I don't particularly think much of C or C++, I
think FORTRAN meets the needs of its community rather well, I've programmed
in more languages than I can remember, and I enjoy typing ()'s. Ok.
All that said, Lisp is more of a combination of a way of thinking, a bunch of well
formed abstract concepts, and some very simple and VERY useful ways of using all
of the above. The first two can be mentally ported almost anywhere except
FORTRAN, RPG and COBOL. The third is the province of Lisp. But, a few years ago,
I faced a set of difficult problems in coding a graphics system (in C, not even C++)
similar in concept to QDrawGX. In solving these problems, I routinely used lexical
closures (created with some hairy C macros and some coding conventions) and even
ended up writing out a limited use of continuations, all in C. Worked great, was
maintainable and extensible.
So, to me (aside from mental recreation), Lisp is a great tool for dealing in powerful
techniques of computation. But its greatest value is in changing the way
programmers think, and opening up the thinking process to applying these
techniques without worrying about the language used to implement the solution.
______________________________________________________________
Jerry Boetje
Manager, New Product Development
Sony Systems Engineering Center
San Jose CA
ph. 408-955-5814
Internet: ·······@sfd.sony.com
______________________________________________________________