“Questions and Answers With Professor Donald E. Knuth § How to Customize TeX”, 1996-03 ():
Q: [previous Q&A] …I have a question about the usage of your typographic programs in commercial institutions like DTP [desktop publishing] studios and so on. I’d like to ask about using parts of the TeX source. You made clear that the programmers were free to incorporate parts of the TeX source into their own programs. There are some remarkable examples of this, do you know.
D. Knuth: That question came up also last summer when I had a [199529ya] question-and-answer session at the [199529ya] TUG meeting in Florida. I thought it would be fairly common to have special versions of TeX. I designed TeX so that it has many hooks inside; you can write extensions and then have a much more powerful TeX system readily adapted…A macro language is Turing-complete—it can do anything—but it’s certainly silly to try to do everything in a high-level language when it’s so easy to do it at the lower level. Therefore I built in hooks to TeX and I implemented parts of TeX as demonstrations of these hooks, so that a person who read the code could see how to extend TeX to other things. We anticipated certain kinds of things for chemistry or for making changebars [colored lines indicating modified sections of text, like a visual diff] that would be done in the machine language for special applications. Certainly, if I were a publishing house, if I were in the publishing business myself, I would have probably had 10 different versions of TeX by now for 10 different complicated projects that had come in. They would all look almost the same as TeX, but no one else would have this program—they wouldn’t need it, they’re not doing exactly the book that my publishing house was doing.
That was what I thought would occur. And certainly, there was a point in the middle-1980s when there were more than a thousand people in the world that knew the TeX program, that knew the intricacies of the TeX program quite well. They had read it, and they would have been able to make any of these extensions if they wanted. Now I would say that the number of people with a working knowledge of TeX’s innards is probably less than a thousand, more than a hundred. It hasn’t developed to the extent that I expected…Anyway, I made it possible to do very complicated things. When you have a special application, I was always expecting that you would want to have a specially tuned program there because that’s where it’s easiest to do these powerful things.
…My general philosophy with TeX was to try to have a system that covers 99% of all cases easily [laughter]; and I knew there would always be a residual number. But I felt that this residual would only be needed by the people who really care about their papers, and then if they’re only spending 1% of the time on this, then they would enjoy feeling that they had contributed something special by adding their little signature, their special character to it. So, I didn’t try to do everything automatically.
[cf. 1995 in Florida: “…It’s certainly what I would have done! If I were putting out a Bible or something, if I were a publisher with some project that I wanted to do specially well, then I would want a special typesetting tool for it. Rewriting a typesetting system is fairly easy.” [laughter]]