any (practical) use for LISP?
boblq at cox.net
Thu Feb 3 01:41:37 PST 2005
On Thursday 03 February 2005 01:16 am, Stewart Stremler wrote:
> begin quoting boblq as of Thu, Feb 03, 2005 at 01:09:04AM -0800:
> > On Thursday 03 February 2005 12:54 am, Stewart Stremler wrote:
> > > begin quoting Andrew P. Lentvorski, Jr. as of Wed, Feb 02, 2005 at 10:36:05PM -0800:
> > > > On Feb 2, 2005, at 8:48 PM, Stewart Stremler wrote:
> > > Naturally. It's an obvious thing to optimize on. And if the
> > > optimization is relatively transparent and doesn't change the syntax of
> > > the language, it's conceptually irrelevent ... everything behaves /as
> > > if/ it were all cons-cells.
> > Not really. The guys who knew what was going on were often using
> > that implementation detail to dig deeper into the underlying data
> > structure. This leads to (as you might expect) a huge number of
> > difficulties when the implementation is changed.
> Optimization makes code faster as the expense of making it brittle.
It was not for faster. It was for elegance of another nature.
Like a back tracking nueral network that used the existing
dictionary structure ... or an exp[ert system that depended
on details of the inner interpreter, which was a natural data
structure, albeit implicit, for expert systems.
Unfortunately this elegance was brittle.
> > This problem was a killer for a lot of FORTH code that
> > was from a modern perspective too integrated, i.e. the
> > implementation was seamlessly optimized.
> It's good to have boundaries beyond which you pretend not to know what
> is going on. A few "shear planes"* in the code is a good thing...
But not the stuff of haiku. Basically just boring engineering
condescension to the bell curve of ability.
> > But it made a lot of sense to those who understood it
> > at the time. Not really much different from the early
> > LISP code.
> Cleverness can sometimes be counter-productive.
Not only cleverness in the sense you say but even
deep understanding which almost certainly will not
be perceived by most.
> * I hope it's obvious what I mean by this.
Chuckle. It will be if you dumb it down enough.
> -Stewart "Cleverness is not always better than maintainability" Stremler
Nor is knowledgable design among the ignorant. Why use a
pointer to something when you can simply repeat yourself for
the ignorant who will not other wise understand? Besides you
will be better paid for many more lines of code.
More information about the KPLUG-List