[next] [prev] [prev-tail] [tail] [up]

3.4 A Historical Note, or `What's in a Name?' 

As mentioned above, the first objective in creating 4TeX was to have some sort of integrating menu to call TeX and the other main programs without the fuss of setting parameters.

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.

[next] [prev] [prev-tail] [front] [up]