Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!usc!brutus.cs.uiuc.edu!unix.cis.pitt.edu!jbw From: jbw@unix.cis.pitt.edu (Jingbai Wang) Newsgroups: comp.lang.postscript Subject: Re: PostScript Language Message-ID: <22520@unix.cis.pitt.edu> Date: 24 Feb 90 17:42:44 GMT References: <9447@imagen.UUCP> <38910@apple.Apple.COM> <147@heaven.woodside.ca.us> Reply-To: jbw@unix.cis.pitt.edu (Jingbai Wang) Organization: Univ. of Pittsburgh, Comp & Info Services Lines: 74 In article <147@heaven.woodside.ca.us> glenn@heaven.UUCP (Glenn Reid) writes: |>|>PostScript(R) became successful because it satisfied the needs of a lot |>|>of folks with sufficiently deep pockets. Instead of griping about what |>|>a sicko procedural language it is, perhaps Ivan would care to propose one |>|>of his favourites, and let the free market decide? |>|>Kok Chen kchen@apple.com, AA6TY(ex-KK6DP) |>|>Apple Computer, Inc. ... |>No, I think PostScript succeeded mainly because it is ASCII. People |>can understand something that they can see. People like that. A lot |>of the software in the world is screwed up in one way or another, and |>people love to be able to fix things that are broken. And they can |>fix them if they are expressed in ASCII. Or at least they can see |>them and know that there is something broken in there that they can't |>quite understand, so they want to know more about it. So they learn |>it, and have fun with it, and tell somebody else about it. |> ... ... |>There are people who care about whether a 100-page-per-minute printer |>keeps up to its rated speed, and there are specialized solutions for |>those people. I value reliability and consistent output about 100 |>to 1 over speed. That is, I'd rather have a 1 ppm printer that always |>got the right answer, because I could go to sleep and have it print |>the draft of my book, than have a 100 ppm printer that couldn't print |>page 3 and wanted me to click "OK" when I woke up in the morning. |> |>Glenn Reid |> (My own late-night thoughts, of course) I tend to agree with Glenn (at least on ASCII part). Adobe is one of the few successful computer companies founded by advanced degree holders. It could affort to use ASCII output format of commands, strings and integer as well as floating point numbers, instead of the traditional +[+??? +integer + strings, because the designers knew disk space, ROM and RAM would not be a restriction in a long run, and CPU would catch up soon. With that, device independency could be conceived, because the PostScript output file describes the image analytically instead of hard-coded the output in bitmap and strings. The final bitmap image relies on the interpretor and the available font libraries. ASCII format is good in the sense you can edit, transmit and store in very convenient and standard ways. But they are also bad in that there are no flags, escapes and others that can allow a programmer to interprete the results into other output formats. A full feature parser is nothing but a PostScript interpreter which can't be built trivially. On the other hand, any other printing languages in other types of printers can be interpreted and/or translated to another at very low cost. This made cloning difficult and enabled Adobe stokes to mushroom. Among other things, most of graphics description algorithms in PostScript are also standard and visible in competitors, except, maybe, closepath, fill, setgray, scale, clippath and the such. But they were not so difficult to design. Vector fonts had been available ever since plotters were born. B-spline is really nothing but a standard scheme, kerning and font metrics were known to all, but without closepth, setgray, setlinewidth, and fill an outline font would never be as presentable, as scaleable and as flexible as Adobe type 1 fonts. In a word, Adobe is successful because the founder could see farther than others in the computer industry. ASCII is only a minor point. Actually, besides DEC LN03 plus also uses ASCII format. Stack is also a feature in PostScript programming language, but it is not unique to it. Forth language also uses stacks. JB Wang Research Associate, Ph.D. Stevens Institute of Technology p.s.: I am normally active in comp.lang.postscript, comp.text, comp.text.tex Chinese computing network -- ccnet-l@uga.bitnet, and I have products in all of these fields.