rounding problems

Melissa O'Neill oneill@cs.sfu.ca
Sat, 3 Oct 1998 02:26:41 -0700


Rowland wrote:
> I for one am very glad you used TeX, not Perl.  Perl is far too
> system-dependent for my liking: fontinst written in TeX `just works'.  By
> contrast, the vfinst Perl scripts don't work on my Mac at all, despite me
> having MacPerl.

Your single example doesn't prove much about Perl or TeX. There is
nothing inherently system-dependent about perl, or inherently system
independent about TeX (remember those 8.3 filenames or the way that TeX
can run external programs on some systems?).

In other words, if fontinst had been written portably in Perl, you'd be
able to run it on your Macintosh.

Implementing fontinst in TeX means that the code is far more obtuse than
it would be if it were written in a conventional language -- I was so
reluctant to meddle with it that I wrote my own tools. Portability gains
from being written in TeX are mostly mythical. VPtoVF and company aren't
written in TeX. Nor is DVIPS or afmtotfm.

Alan's decision to write in TeX was probably a good decision for him,
at the time -- but I think it's completely fair for him to say that if
he were doing it over today, he'd use a better tool.

That said, I'm impressed at what Alan did in creating fontinst, especially
its declarative style, power and expressiveness.

Rowland also wrote:
> What amazes me about TeX is that someone like Knuth could write something
> that's as bad at arithmetic as TeX is.

TeX is a typesetting system. For the purposes of typesetting, the TeX
approach to numbers is accurate and almost always adequate.

Just because you *can* write TeX macros that aren't directly related to
typesetting documents, it doesn't mean that you *should*. If you do,
you shouldn't be surprised if some of the design decisions of Knuth made
for his typesetting system get in your way.

    Melissa.