Xref: utzoo comp.lang.forth:568 comp.lang.postscript:971 comp.windows.news:788 comp.windows.misc:699
Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!purdue!decwrl!adobe!ondine!greid
From: greid@ondine.COM (Glenn Reid)
Newsgroups: comp.lang.forth,comp.lang.postscript,comp.windows.news,comp.windows.misc
Subject: Learning PostScript
Keywords: Forth, Lisp, Interactive PostScript, NeWS
Message-ID: <4227@adobe.COM>
Date: 21 Sep 88 23:34:10 GMT
References: <13613@mimsy.UUCP> <3492@phri.UUCP> <23378@wlbr.EATON.COM> <3496@phri.UUCP> <13655@mimsy.UUCP>
Sender: news@adobe.COM
Reply-To: greid@adobe.UUCP (Glenn Reid)
Organization: Adobe Systems Incorporated, Mountain View
Lines: 49


> My argument, which applies to interpretive languages in general, is
> that it's easier to learn a language in an interactive programming
> environment than in a batch environment. Direct access and immediate
> feedback gives a programmer immersed in an interpretive environment
> intimate experience with the language, and incentive to experiment.

> PostScript is very different than the languages most people are used
> to.  The syntax of PostScript is extremely simple, but if you're ever
> going to be able to harness its power, you've got to understand the
> semantics. And playing around with an interactive interpreter is a
> quick and fun way to find out how it works.

>        -Don
	
I would say that there are several levels of becoming proficient with
the PostScripot language, and that (at least at the beginning), it can
be very helpful to have some interactive response so you can test things
out.  However, once you get past a pretty simplistic level, you get
very tired of retyping a line of code because you got it wrong:

    PS> /Times-Roman fondfont 12 scalefont setfont
    %%[Error: undefined; OffendingCommand: fondfont]%%
    PS> /Times-Roman findfont 12 scalefont setfont
    PS> (Hello world!) show
    %%[Error: nocurrentpoint; OffendingCommand: show]%%
    PS> 0 0 moveto (:LSJDFLKJSF) show

This is about where you put the whole thing into a file, and do this
instead:

    PS> (myprog.ps) run

Which gets you back into batch mode, sort of....

The final point that is forgotten is that you can use a printer in
interactive mode, which, although it is not as visual (without wasting
a bit of paper), at least lets you get a "feel" for the language.  I
do this all the time to examine some part of my program to see what
sequence of operators is necessary to pluck something from an array or
whether "putinverval" really works like I think it does.

A PostScript printer, after all, is just a computer with a serial port,
to which you hook up a terminal (or emulator), just like the old days
:-)  You still have to type "executive", of course.

Cheers,
 Glenn Reid
 Adobe Systems