50 likes | 135 Views
Ch. 4: The Tide, Not the Waves. Edsger W. Dijkstra (from Beyond Calculation ). Next Fifty Years of Computing. Program Design and Proof Design come together; Programming and Mathematical Treatment; Learning from the Past: Limited Rate of the Progress absorbed by Society;
E N D
Ch. 4: The Tide, Not the Waves Edsger W. Dijkstra (from Beyond Calculation) Tide vs. Waves
Next Fifty Years of Computing • Program Design and Proof Design come together; • Programming and Mathematical Treatment; • Learning from the Past: Limited Rate of the Progress absorbed by Society; Failure of characterizations (Constructive vs. Category) • Fast Machines with Huge Storage; • Unmastered/ Added Complexity. • History of the Real-Time Interrupt (1950s): Enhancement of the Debugging facilities [OS/IBM360]; Technological University Eindhoven: “conditions”. Tide vs. Waves
System Performance & Control • Multiprogramming Systems; • Debugging is no alternative for intellectual control; • The problem of Program Correctness; • The problem of System Performance; • Prevention is better than cure: All timing difficulties in clocking systems are referred to the class of problems better avoided than solved; • Designs such that both the Final Product and the Design Process reflect a theory that suffices to prevent a combinatorial explosion of complexity from creeping in. Tide vs. Waves
The Opportunity for Simplification • Nothing is cheaper than NOT introducing the bugs at first; • Design Aids: Circuit Simulators, Protocol Verifiers, Algorithm Animators, Graphical Aids for HW-designers… they invite COMPLEXITY; • De facto Standards: COBOL, FORTRAN, ADA, C++, etc. Programming = derivation by means of symbol manipulation (Let the symbols do the work); Computing as exercises in Formal Math (VLSAL). • Mathematics provides Effective Formal Reasoning Learning how to let symbols do the work. Tide vs. Waves
Program and Proof Designing • Program Design and Proof Design are closely connected; • Compilers = mechanical manipulators of uninterpreted formulas; • Leibniz: “This manipulation as an Alternative to Human Reasoning”; • Narrowing the Bandwidth of Communication and Documentation; • Ease of Use; • Complexity sells better the Market pulls in the opposite direction. • Pure Math Effective Formal Reasoning Tide vs. Waves