A Historical Note, or `What's in a Name?' One obvious way to do this is by a batch file. However, plain command.com
batch
files tend to be slow, since only one command is read and executed at a
time. A very attractive alternative is provided by 4dos (shareware by JP
Software Inc.), nowadays a well known replacement for command.com
. Among
other things, this program offers an extensive batch file language with many
predefined functions and variables. Since it is also fast (the complete batch
file is read into memory at once), it was decided to implement 4TeX as a
4dos2
batch file (denoted with an extension .btm
, an abbreviation of Batch To
Memory).
One might object that using 4dos batch files deprives the old-fashioned
command.com
users from the benefits of 4TeX. We happen to think that this would
only be a mild punishment for not recognizing how good 4dos really is. However, for
those who have a good reason not to use 4dos we have also implemented 4TeX to run
under command.com
. This is of course done by loading 4dos as a secondary
shell.
Starting off as a small and simple batch file, 4TeX became a collection of batch files consisting of about 15 000 lines of sometimes fairly sophisticated code.
The main reason to program 4TeX in the 4dos batch language and not in some higher level programming language (e.g. Pascal or C) is that by using 4dos we could create an open system, i.e. one in which anyone can correct bugs or modify the workbench to suit personal needs and taste without the need of special tools or extra compilers (especially useful when one wants to assure quick and adequate support). Another reason to use the 4dos batch language is the availability of environment variables and variable functions that enabled us to do things that would require very tedious programming in a higher level programming language. Since it is also fast (the complete batch file is read into memory at once), it was an easy decision to implement 4TeX as a 4dos batch file.