[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Postscript emulation



In article <3332165f.0@130.166.1.8>,
James Lockwood <lockwood@ecs.csun.edu> wrote:
>Ghostscript is commercially developed product by Aladdin Enterprises, who
>graciously freely release source code to older versions of their product as
>they develop newer ones.  Their code is first rate, and their intentions
>towards the free software industry have fathered a large amount of goodwill.
>I can think of very few companies out there with such a liberal policy.

   480 files (4MB) source code with all filenames in MS-DOG 8.3 form,
in one directory, and minimalist comments on the files I looked at.
If this is what you consider first rate code, I'd hate to see what you
put down. I bet gcc for unix loves it, but I've seen far more readable
and intuitive piles of code lots of times before.

>True, they assume 32-bit (or larger) ints, and true, it would probably be
>unbearably slow on a IIgs (even an accelerated one).  But there's no need
>to denigrate the coding quality of a product you admit you haven't even
>read.

   I have read parts of it now (no way I'm going to try and hack at
125K lines of barely commented code), and it looks like they stripped
about 2/3 of the comments out before letting the public at it. Fine,
it's their right to do so, but I'd rather not try and tweak that
amount of code. As I said above, gcc/unix probably does well on
it. Forget it on the GS.

>No well written Unix code assumes that pointers and ints are the same size,
>as such code breaks instantly on systems such as the DEC Alpha (64-bit
>pointers, 32-bit ints).  Ghostscript certainly doesn't.  99% of the FSF
>software doesn't.

  Key: well written. And from talking to a lot of well qualified
people who've tried to modify or port random GNU things, there's a lot
of code written that is definitely not that way. When I was at
Caltech, some grad turkeys working for the same prof as me had the job
of retargeting several GNU tools to a machine with a non-32 bit
int. They reported tons of latent assumptions in the code that still
had not been caught as of several years ago. When 64-bit machines came
out, much gnashing of teeth was reported with GNU crud that assumed
int=ptr.

   I also just read thru the Ghostscript 'NEWS' file for the 3.3
release, and it notes 4 separate things that'd been broken by 64 bit
machines.

   Also, by the way, Ghostscript 3.3 looks like it's C++. Thus, forget
it no the GS for yet another reason. (Lack of a compiler). 4MB of
source, however well written, is going to have problems on a 4MB GS,
let alone the normal bloat of C++ code.

Nathan Mates
--
<*> Nathan Mates http://www.visi.com/~nathan/      <*>
# What are the facts? Again and again and again-- what are the _facts_?
# Shun wishful thinking, avoid opinion, care not what the neighbors
# think-- what are the facts, and to how many decimal places?  -R.A. Heinlein