- 出版社: Springer; 1st ed. 1981. 5th printing 1989 (1989年4月1日)
- 丛书名: Monographs in Computer Science
- 平装: 388页
- 语种： 英语
- ISBN: 0387964800
- 条形码: 9780387964805
- 商品尺寸: 15.2 x 2.2 x 22.9 cm
- 商品重量: 531 g
- ASIN: 0387964800
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第1,194,537名 (查看图书商品销售排行榜)
The Science of Programming (英语) 平装 – 1989年4月1日
Part 0. Why Use Logic? Why Prove Programs Correct?; Part 1. 1. Propositions; 2. Reasoning Using Equivalence Transformations; 3. A Natural Deduction System; 4. Predicates; 5. Notations and Conventions for Arrays; 6. Using Assertions to Document Programs; Part2. The Semantics of a Small Language; 7. The Predicate Transformer wp; 8. The Commands Skip, Abort and Composition; 9. The Assignment Command; 10. The Alternative Command; 12. Procedure Call; 11. The Iterative Command; 12. Procedure Call; Part 3. The Development of Programs; 13. Introduction; 14. Programming as a Goal-Oriented Activity; 15. Developing Loops From Invariants and Bounds; 16. Developing Invariants; 17. Notes on Bound Functions; 18. Using Iteration Instead of Recursion; 19. Efficiency Considerations; 20. Two Larger Examples of Program Development; 21. Inverting Programs; 22. Notes on Documentation; 23. Historical Notes; Appendix 1-4; Answers to Exercises; References; Index
I have to admit I'm one of those guys who just wish my code would "somehow" work.
If in a good day my code passed all tests, I would be "convinced" it's correct.
I haven't realized how stupid that was until I came across this book.
This book was written 25 years ago, however I still find the techniques quite advanced, the way it reasons about correctness quite profound.
If you decide to pick up this book (yay!), a bit of advice:
1. Don't think it as "another" programming language book you can skim quickly, you really need to grasp the ideas behind those seemingly natural theorems & proofs.
2. Prof. David Gries himself stressed a few times in the book that even attempting to prove some of the theorems would change the way you think. So make sure you solve the problems in the exercises, you'll be surprised the concept is not as simple as it seems.
3. Find a quiet spot :) You probably don't want to read this while on a bus or subway.
Enjoy the journey!
I have used the methods in this book to develop advanced algorithms in Computer Graphics which could not have been developed in any other way.
The book is both a tutorial and reference. It is clearly written and organized.
When I first read this book, it was as though a bolt of lightning had struck me. Applying its methods, I became a much better programmer. I went from someone who struggled to get the code right to someone who always got the code right. For the first time I understood what programming was all about. I read the book on vacation while my wife and I were staying at my father's home in Sag Harbor New York and it was one of the most incredible intellectual adventures of my life. I'll never forget the smell of the sea and the sand and the logic going off like lightning flashes inside my brain.