The programming languages we use are deficient. Some of the problems may be inherent to the use of computers, but others are caused by using the wrong tool for the job. If, as usual, we are forced to use an imperfect language, the only recourse is to program in a better language, then translate manually or mechanically into the other. This paper discusses categories of deficiencies, and methods appropriate for ameliorating them. Finally, we consider what can be done in the particular case of FORTRAN, with examples from the author’s EFL preprocessor.
--Author’s Abstract
The language deficiencies discussed include (1) poor legibility, (2) lack of sufficient expressive power, (3) extensibility, and (4) more basic issues (data hiding, scoping, etc.). Many of these can be remedied via suitable preprocessors. Equating a standardized language with a dead one, the author views preprocessors as an economical way of experimenting with languages and new ideas. He makes no secret of his disdain for FORTRAN as a programming language, and devotes the last third of the paper to a discussion of how his EFL (Extended FORTRAN Language) preprocessor was able “to provide a modern-looking language at bearable cost.” This paper is primarily a philosophical essay. The reader will not learn how to write a preprocessor, but will gain valuable insight into the issues involved in its development.