1 / 5

Ch. 4: The Tide, Not the Waves

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;

china
Download Presentation

Ch. 4: The Tide, Not the Waves

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ch. 4: The Tide, Not the Waves Edsger W. Dijkstra (from Beyond Calculation) Tide vs. Waves

  2. 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

  3. 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

  4. 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

  5. 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

More Related