On 11/19/2011 01:01 AM, Richard wrote:
If TeX were being constantly changed to add features,
then it would
have more bugs. Its well accepted that changing code is the way that
bugs get introduced, whether that change is due to "finishing" the
implementation, adding new features to the implementation or even
fixing existing bugs.
No. In reality, what's well-accepted as being the way bugs get
introduced is MISTAKES made by programmers. Sometimes due to
distraction or just plain brain-o problems, but more and more due to
incompetence.
Also, I would say that the implementation of TeX is
pretty
inscrutable to anyone except Donald Knuth and a handfull of other
people who have bothered to spend enough time deciphering its
implementation. Its implementation is purely procedural; no modules,
no abstractions, no objects and no attempt to create interfaces that
hide details. TeX's implementation is *all* details all the time.
And yet it's as close to bug-free as any substantial piece of
software that anyone can name. One can't help but wonder if he was onto
something.
Knuth's attempt at "literate
programming", to write a book that
documents the implementation and shows you the implementation at the
same time by interleaving prose and source code is IMO a complete and
utter failure.
And yet many other major software packages that are written in
extreme object-oriented methodologies tend to be hulking beasts that are
so full of bugs that they're sometimes barely usable. Once again, one
wonders if Knuth was onto something.
Or perhaps he wasn't onto anything at all, and he's just an extremely
competent programmer who can write good code in any language.
-Dave
--
Dave McGuire
New Kensington, PA