We're sorry. An error has occurred
Please cancel or retry.
Binding Time
Some error occured while loading the Quick View. Please close the Quick View and try reloading the page.
Couldn't load pickup availability
- Format:
-
01 May 1990

COMPUTERS / General, Computer programming / software engineering, COMPUTERS / Programming / General
Preface
1 Turing's Test and the Ideology of Artificial Intelligence
Appendix A
Appendix B
Appendix C
Notes
2 Perfection & Paradox: Programming and Mathematics Exchange Favors
Mathematical notation and natural languages
Calculism and programming languages
Calculism and the validation of programs
Two key papers on the verification controversy
The exposure of paradox: Programming returns the favor
Notes
3 From the Macroprocessor to the General Processor
Language or processor?
Three dimensions of programming languages
Logical place of the macroprocessor
Historical place of the macroprocessor
The notational dimension
The modal dimension
Machine independence versus object-program efficiency
Have we thrown out the baby?
Epilogue
The past recaptured?
Notes
4 Natural Language and Redundancy in Programming
The problem defined
English, active and passive
Translation versus comprehension
Written versus spoken input
Objections and counterproposals
Redundancy
What calculus, and why?
Consequences for 'program correctness' and plain debugging
Specimen confusions
Assertions: Applied redundancy in OOP
Notes
5 Building on the General Processor: From Modules to Boxes
What is a bug?
Is there a place for 'good design'?
Where are bugs found?
What is a module?
Parnas on 'information hiding' and module specification
From modules to boxes
Attaining bug-free code
Assertions as debugging tools
The extended general processor: How boxes are built and used
Boxes and proofs: A summary
Boxes as support for 'field debugging'
Appendix
Notes
6 The Politically Correct Programmer
A theorem on human rights
'Proof' and its uses in politics
Notes
References
Author Index
Subject Index