Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news-koe1.dfn.de!main.Germany.EU.net!Germany.EU.net!EU.net!news.bbnplanet.com!cpk-news-hub1.bbnplanet.com!feed1.news.erols.com!howland.erols.net!netcom.com!erkyrath
From: erkyrath@netcom.com (Andrew Plotkin)
Subject: Re: Questionable Languages & Compilers
Message-ID: <erkyrathE2q30q.48I@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <32b72f97@beachyhd.demon.co.uk> <1996Dec19.165314.307@wcc.govt.nz> <59cimp$2hf@life.ai.mit.edu>
Date: Fri, 20 Dec 1996 17:24:26 GMT
Lines: 82
Sender: erkyrath@netcom.netcom.com

David Baggett (dmb@lf.ai.mit.edu) wrote:
> And I don't see why it's OK to harshly criticize IF works that people write
> for free, but it's not OK to criticize the tools.  Those of you who are
> lauding *or* criticizing Inform's language design: do you really know much
> of anything about programming language design and implementation?  (I know
> Thomas Nilsson does, but how about the rest of you?)

I took a class once. I have the Dragon Book you refer to...

> I've spent a great deal of time reading about the subject over the past few
> years, and it's quite clear to me that there are serious problems with
> *all* the existing IF development systems, and that none of them deserves
> anything like a "professional-quality compiler" label.

> One very basic requirement for a "professional quality compiler" is that it
> perform nontrivial optimizations like strength reduction; do any of these
> compilers do that? 

This becomes a sore point, because there *is* a difference between Graham 
and his spare time (on one finger), and MetroWerks (on the rest of the 
platoon's appendages).

(Metrowerks is a Mac compiler vendor which started up a couple of years 
ago and is now widely regarded as the best choice. They are a major 
software company with revenues of $10 million a year. Graham is a bored 
professor.)

It would be lovely if Inform applied all the optimizations that I expect 
from Metrowerks' compiler, or even from gcc. I don't know what 
optimizations it does provide. (I know it does some. See the tech 
manual.) If it misses some, however, I don't regard it as a "major 
problem". 

It's a nuisance that a few games have come up against the resource limits
of the V5 Z-machine (notably Jigsaw -- even though there's a V8 version,
Graham said recently that some scenes were trimmed to make the V5 version
fit.) But you'd have to demonstrate that a typical game *could* be shrunk
significantly by optimization. I don't believe a C-like language on a
registerless architecture *has* many nontrivial optimizations. (Trivial
ones, like moving complex expressions out of loops, tend to be done by
hand by C-native hackers -- me, anyway. I admit that CSE elimination would
be nice.)

Put it this way: I would love to write a Mac Web browser that didn't 
suck. But I simply can't compete with MS and NS. They can implement 
"professional" features faster than I can *read* about them. (You decide 
whether these are actually useful features, but it *is* what the market 
wants.) Because of this, I haven't bothered. Therefore, I use a Web 
browser that I hate. Is this bad? I think it is. I'm certainly glad that 
there are amateur IF systems out there as opposed to none at all.

(Please don't write back pointing out the flaws in this analogy. It's not 
a parallel, it's a point of view on the question of whether amateurs 
should write software.)

> This is, in the long run, what we should expect of the tool
> designers, just as we ultimately expect our authors to have read the major
> works of (interactive) fiction.

Sure. I'm sure you noticed the total rewrite that went into Inform 6.

> I don't mean to be pointlessly critical, and I'm not saying these tools are
> useless (far from it), but if we're going to hold our fiction up to the
> high standards of the literary world, shouldn't we fairly judge the tools
> by the equivalent langauge design and implementation standards?  I've said
> myself that improved tools are the main reason (IMO) for IF's renaissance
> in the 90's.  But the flip side of the coin is that, as with the fiction,
> we're nowhere near where we could be.  Certainly there is no reason to put
> a moratorium on criticisms of tools!

The other problem is that the particular criticisms that were posted 
were, uh, unuseful. One change request which has already been 
implemented, and one that badly misunderstood the way compilers are used 
(although I don't object to the idea of a user-controllable option for 
"max number of errors to tolerate.")

--Z

-- 

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the
borogoves..."
