3 ms·
The Fortran I Compiler (2000) [pdf]
- PaulHoule 6y agoYou could make a case that the dragon book held back compiler development by popularizing a number of second or third rate methods. Many old mainfrsme compilers used techniques a little too advanced to make it into the books.
- Athas 6y agoWhich 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.
- BruceEel 6y agoAh, just as I was contemplating giving up on the tangled mess that my own register allocation code is evolving into... Inspiring read. Thanks!
- fortran77 6y agoDon't forget FORTAN's influence on BASIC. See https://www.gamasutra.com/view/news/216469/A_basic_history_of_BASIC_on_its_50th_birthday.php https://www.gamasutra.com/view/news/216469/A_basic_history_o...
- transhipper 6y agoFortran is the first imperative high level language and it had impact on almost all the computer languages created after that.
- rst 6y agoWell, certainly the first to be widely implemented. After the original Fortran for the 704, there were compilers for a bunch of other machines, not always using the "Fortran" name. And, per this article, the first to have a meaningful optimizer. (Terms such as "basic block" first occured in 1957 technical papers on its internals.) However, there were earlier languages which were at least high-level enough to support algebraic notation. Perhaps the first the compiler written by Laning and Zierler for the Whirlwind at MIT: https://en.wikipedia.org/wiki/Laning_and_Zierler_system https://en.wikipedia.org/wiki/Laning_and_Zierler_system (which was thought for a while to have been an inspiration for Fortran -- but the head of the Fortran project, John Backus, later found notes from before Laning and Zierler published).
- bobochan 6y agoIt was not just an influence on BASIC, but the raison d'etre, "It should be a stepping-stone for students who may later wish to learn one of the standard languages, such as FORTRAN or ALGOL." https://www.dartmouth.edu/basicfifty/basicmanual_1964.pdf https://www.dartmouth.edu/basicfifty/basicmanual_1964.pdf
- dang 6y agoA couple of small somewhat-related past threads: In search of the original Fortran compiler (2017) - https://news.ycombinator.com/item?id=23497895 https://news.ycombinator.com/item?id=23497895 - June 2020 (3 comments) A 63-pass FORTRAN compiler for the IBM 1401, illustrated - https://news.ycombinator.com/item?id=9289070 https://news.ycombinator.com/item?id=9289070 - March 2015 (8 comments)
- ngcc_hk 6y agoIn summary the source has lost only fortran II left ... really?!!