From: jcarroll@ferris.cray.com (Jeff Carroll)
Newsgroups: alt.religion.computers,comp.human-factors,comp.windows.misc,comp.windows.news
Subject: Re: GUIs Considered Harmful
Date: 6 Oct 92 01:21:47 GMT
Article-I.D.: walter.1992Oct5.202147.2594
Organization: Cray Research, Inc.
Originator: jcarroll@ferris


In article <1992Oct1.142636.13586@sol.ctr.columbia.edu>, daniel@csgi63.dcs.leeds.ac.uk (D N Crow) writes:
> In article <1992Sep30.183814.7914@walter.cray.com>, jcarroll@ferris.cray.com (Jeff Carroll) writes:
> > 
> > Don't be silly. PostScript files are *source code*. Of course you can edit
> > them.
> > 
> > Granted, there's a difference between editing a program which happens to
> > cause the printing of a document (all printing in PostScript, remember,
> > is a side effect), and editing the document itself.
> > 
> > Jeff Carroll
> > carroll@herndon.cray.com
> 
> Hmmm... interesting. Sure PostScript is source code for a printer driver that
> understands the PostScript language. On the other hand I have a DTP system
> that, in effect, converts my WYSIWIG language source code into PostScript
> object code. There ultimately is no difference between source and object code
> on a computer system: they are simply translations of one another.
> 
> Another example: I know of a person who can read and edit 8088 object code
> (not assembler, the actual machine instructions). I'm not sure that it follows
> that because my friend can do it, we should abandon high level languages and
> force everyone to speak in binary digits.

PostScript *is* a high-level language. That's why we use it. It's a stack-based
language, somewhat like Forth; it's even capable of doing floating-point math.
In principle, if you had an old Z80 machine and a really sexy, state of the art
laser printer, you could get answers faster by writing your programs in
PostScript and downloading them to the printer.

The pitfall of PostScript engines is input/output. The language has no
formalisms for input or output; input must be incorporated into the source
code, and output must be derived from the side effects ("printing") of the
program. Just a rather specialized kind of batch processing
 
> The argument that postScript is source code seems spurious to me: of course
> we can edit it, just as on most machines you can edit object code. The real
> question is whether doing that is an appropriate mechanism for users who
> wish to acheive certain goals (like altering a document). I would argue that
> for all but a tiny percentage of any realistic user base, editing PostScript
> is not a realistic option.

It's not a realistic option unless you're a PostScript programmer. Editing C
is not a realistic option unless you're a C programmer. Editing Lisp is not a
realistic option unless you're a Lisp programmer, and editing Occam is not a
realistic option unless you're an Occam programmer.

There are laser printer languages that *aren't* high-level, in my opinion. The
HP LaserJet language, for one. Whether you call the QMS proprietary language,
QUIC, high-level or low-level depends on your taste, I guess. It certainly
doesn't have the capabilities of PostScript.
 
> However, PostScript does have the advantage of being standard. Certainly in the
> sense that many document preparation systems available today will output it.
> If there were a set of filters which allowed such applications to read
> PostScript and reconstruct an editable document in their internal format,
> it would be a really useful document transfer protocol. Unfortunately, the
> PostScript language is so rich and powerful, that this reverse translation
> is usually difficult to say the least...

An editable document? Eminently doable, I would think, if there's a market.
WYSIWYG, graphics and all? Impossible.

Jeff Carroll
carroll@lemon.cray.com
Xref: sparky alt.religion.computers:797 comp.human-factors:2320 comp.windows.misc:1500 comp.windows.news:702