戴克斯特拉(Dijkstra)和斯霍尔滕(Scholten)合著的《谓词演算与程序语义学》(Predicate Calculus and Program Semantics)是该领域一本不错的教材。戴克斯特拉的《编程的修养》(A Discipline of Programming)行文要随意得多,但我觉得可读性更好,而且里面有很多不错的例子。
Dijkstra and Scholten's Predicate Calculus and Program Semantics is a good textbook on the subject. Dijkstra's a Discipline of Programming is much more informal, but I find it more readable and it has a number of good examples.
It’s a wonderful book. The “sequel” Predicate Calculus and Program Semantics by Dijkstra and Scholten gives a more rigorous treatment of the ideas presented in A Discipline of Programming. Both are fantastic.
…preserve the given invariants, perhaps using TLA+ or something similar. Anyone that wants to learn more on the subject of deriving programs should read one or both of A Discipline of Programming[1] and Predicate Calculus and Program Semantics[2]. The former is more approachable for the programmer who isn't as inclined toward formal mathematics. The latter basically takes the same concepts and treats them with much greater mathematical rigor.…
Dijkstra’s A Discipline of Programming and its spiritual successor that he did with Scholten Predicate Calculus and Program Semantics. They changed how I think about programming.
The predicate calculus. I regularly review Predicate Calculus and Program Semantics[1] to increase my fluency in the techniques. I also recommend A Discipline of Programming[2] as a gentler introduction to the subject for those who do not consider themselves particularly mathematically…
It sounds like you might appreciate Predicate Calculus and Program Semantics[1] which is a rigorous formal treatment of the subject. Dijkstra's earlier work, A Discipline of Programming[2] lacks mathematical rigor, but is still quite pragmatic and is arguably a much gentler introduction…
戴克斯特拉(Dijkstra)和斯霍尔滕(Scholten)合著的《谓词演算与程序语义学》(Predicate Calculus and Program Semantics)是该领域一本不错的教材。戴克斯特拉的《编程的修养》(A Discipline of Programming)行文要随意得多,但我觉得可读性更好,而且里面有很多不错的例子。
Dijkstra and Scholten's Predicate Calculus and Program Semantics is a good textbook on the subject. Dijkstra's a Discipline of Programming is much more informal, but I find it more readable and it has a number of good examples.
这是一本神作。戴克斯特拉和斯霍尔滕写的“续作”《谓词演算与程序语义学》,对《编程的修养》里提出的观点进行了更为严格的论述。两本都极好。
It’s a wonderful book. The “sequel” Predicate Calculus and Program Semantics by Dijkstra and Scholten gives a more rigorous treatment of the ideas presented in A Discipline of Programming. Both are fantastic.
……保持给定的不变量(invariants),也许可以使用 TLA+ 之类的工具。任何想深入学习程序推导这一主题的人,都应该去读一读《编程的修养》[1]和《谓词演算与程序语义学》[2],读其中一本或两本都行。对于不太擅长形式化数学的程序员来说,前者更平易近人。而后者基本上是把相同的概念用极其严谨的数学方法重新论述了一遍。……
…preserve the given invariants, perhaps using TLA+ or something similar. Anyone that wants to learn more on the subject of deriving programs should read one or both of A Discipline of Programming[1] and Predicate Calculus and Program Semantics[2]. The former is more approachable for the programmer who isn't as inclined toward formal mathematics. The latter basically takes the same concepts and treats them with much greater mathematical rigor.…
戴克斯特拉的《编程的修养》,以及他和斯霍尔滕合作的精神续作《谓词演算与程序语义学》。它们彻底改变了我对编程的理解。
Dijkstra’s A Discipline of Programming and its spiritual successor that he did with Scholten Predicate Calculus and Program Semantics. They changed how I think about programming.
谓词演算。我经常重温《谓词演算与程序语义学》[1],来让自己对这些技巧更加熟练。我也推荐《编程的修养》[2],对于那些觉得自己数学底子没那么好的……
The predicate calculus. I regularly review Predicate Calculus and Program Semantics[1] to increase my fluency in the techniques. I also recommend A Discipline of Programming[2] as a gentler introduction to the subject for those who do not consider themselves particularly mathematically…
听起来你可能会喜欢《谓词演算与程序语义学》[1],它对这个主题进行了严格的形式化处理。戴克斯特拉早期的作品《编程的修养》[2]虽然缺乏数学严谨性,但依然非常注重实用,可以说是一本温和得多的入门书……
It sounds like you might appreciate Predicate Calculus and Program Semantics[1] which is a rigorous formal treatment of the subject. Dijkstra's earlier work, A Discipline of Programming[2] lacks mathematical rigor, but is still quite pragmatic and is arguably a much gentler introduction…