2019-02-15
New Insights from Old Programs : The Structure of The First ALGOL 60 System
Publication
Publication
It is a commonplace that computer programming is hard, especially when one aims at creating a program that is correct. What kind of methods should be used to reach that goal is the subject of heated debates. Our thesis is a contribution to these discussions: To understand what computer programming is, and how it should be done, we propose to study how it is actually done – that is, to induce elements of method from factual observation. Our thesis takes the form of a detailed analysis, based on a careful reconstruction, of a particular well-crafted computer program: the first ALGOL 60 system, designed and implemented at the Mathematical Center (now CWI) by E. W. Dijkstra and J. A. Zonneveld, with the assistance of S. J. Christen and M. J. H. Römgens, on an Electrologica X1 computer. It is divided into three main chapters. Chapter I presents the two elements of the problem the Mathematical Center team was facing, namely the ALGOL 60 language and the X1 computer. Chapter II discusses the principles of its solution, explains the implementation choices made by the Mathematical Center team, and compares them to other possible choices. Chapter III presents the details of the Mathematical Center ALGOL 60 system, on an ISO C version of that system, reverse engineered from its X1 assembler source. This program is about 3000 lines long, and is composed of 173 subroutines working on 57 global variables. Finally, our conclusion, in the form of 17 theses and 4 hypotheses, indicates some lessons, in particular on computer programming methods, that we believe can be drawn from the analysis of that particular computer program.
Additional Metadata | |
---|---|
P. Klint (Paul) , T. van der Storm (Tijs) | |
Universiteit van Amsterdam | |
hdl.handle.net/11245.1/8ecd6e9b-767d-44ab-84a7-8eed35822da5 | |
Organisation | CWI management |
van den Hove d'Ertsenryck, G. (2019, February 15). New Insights from Old Programs : The Structure of The First ALGOL 60 System. Retrieved from http://hdl.handle.net/11245.1/8ecd6e9b-767d-44ab-84a7-8eed35822da5 |