3 ms·
Which techniques are these?
by Athas 6y ago
Which techniques are these?
- jhgb 6y agoNo the GP, but I would assume Fran Allen's work would be involved in that? Surely that had some impact on mainframe compilers.
- Athas 6y agoYes, but I'm curious which specific transformations and optimisations were specific to the mainframe culture. C compilers specifically were pretty crude for a while, but there was lots of other stuff going on (e.g. all the work on compiler optimisations for Lisp). I'm not a fan of the Dragon Book, but I also don't think it held back much (although I'm not an expert on its societal impact). The older editions had very little about optimisations at all.
- PaulHoule 6y agoOlder compilers use techniques across the board and are not based on a systematic theory. There was one Fortran compiler from that era for the 1401 that made more than 50 'passes' to minimize memory use. Today 'N passes for large N' is popular for experimental compilers, not to save memory, but because the passes themselves are easy to write. (At resource expense, and the danger that users will never be able to understand error messages.) PL/I and Algol were targeting the space that C took over but had good and bad ideas that were abandoned, misunderstood, forgotten, etc. For instance the first Algol had no definition of how to do I/O which sounds terrible at first -- except today a C prog might throw away the stdlib like arduino does.