保罗·格雷厄姆的那句名言——“编程语言不仅是技术,也是思维习惯。”让我想起了 Dijkstra 在《编程审美》(A Discipline of Programming)里的一句极好的话——“任何工具最重要但也最难以捉摸的一个方面,就是它对那些训练自己使用它的人的习惯所产生的影响。”
That Paul Graham quote - “Programming languages are not merely technologies, but habits of mind as well.” Reminds me of an excellent Dijkstra quote, from A Discipline of Programming - "A most important, but also a most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use."
……Leo Brodie, Thinking FORTH;W. H. Burge, Recursive Programming Techniques;Carriero and Gelernter, How to Write Parallel Programs;A. K. Dewdney, The New Turing Omnibus;Edsger Dijkstra, A Discipline of Programming;Richard Feynman, The Feynman Lectures on Computation;Friedman and Felleisen, The Little Schemer;Friedman, Wand and Haynes, Essentials of Programming Languages [第一版];James F.……
…Leo Brodie, Thinking FORTH W. H. Burge, Recursive Programming Techniques Carriero and Gelernter, How to Write Parallel Programs A. K. Dewdney, The New Turing Omnibus Edsger Dijkstra, A Discipline of Programming Richard Feynman, The Feynman Lectures on Computation Friedman and Felleisen, The Little Schemer Friedman and Wand and Haynes, Essentials of Programming Languages [1st edition] James F.…
戴克斯特拉(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+ 或类似的东西来实现。任何想在程序推导这个课题上深入了解的人,都应该读读《编程审美》(A Discipline of Programming)[1] 和《谓词演算与程序语义》(Predicate Calculus and Program Semantics)[2] 中的一本或两本。对于不太倾向于形式化数学的程序员来说,前者更容易上手。而后者基本上是采用了相同的概念,并且……
…mode that only allows edits that 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…
…might be used. Since any given predicate transformer has a syntactic representation, the result is the program text. As you can see the result is correct by construction. I recommend reading Dijkstra’s A Discipline of Programming for pragmatic examples of using predicate transformers to derive correct programs. If you want a more rigorously formal treatment of the same subject there’s Dijkstra and Scholten’s Predicate Transformers…
保罗·格雷厄姆的那句名言——“编程语言不仅是技术,也是思维习惯。”让我想起了 Dijkstra 在《编程审美》(A Discipline of Programming)里的一句极好的话——“任何工具最重要但也最难以捉摸的一个方面,就是它对那些训练自己使用它的人的习惯所产生的影响。”
That Paul Graham quote - “Programming languages are not merely technologies, but habits of mind as well.” Reminds me of an excellent Dijkstra quote, from A Discipline of Programming - "A most important, but also a most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use."
……Leo Brodie, Thinking FORTH;W. H. Burge, Recursive Programming Techniques;Carriero and Gelernter, How to Write Parallel Programs;A. K. Dewdney, The New Turing Omnibus;Edsger Dijkstra, A Discipline of Programming;Richard Feynman, The Feynman Lectures on Computation;Friedman and Felleisen, The Little Schemer;Friedman, Wand and Haynes, Essentials of Programming Languages [第一版];James F.……
…Leo Brodie, Thinking FORTH W. H. Burge, Recursive Programming Techniques Carriero and Gelernter, How to Write Parallel Programs A. K. Dewdney, The New Turing Omnibus Edsger Dijkstra, A Discipline of Programming Richard Feynman, The Feynman Lectures on Computation Friedman and Felleisen, The Little Schemer Friedman and Wand and Haynes, Essentials of Programming Languages [1st edition] James F.…
戴克斯特拉(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+ 或类似的东西来实现。任何想在程序推导这个课题上深入了解的人,都应该读读《编程审美》(A Discipline of Programming)[1] 和《谓词演算与程序语义》(Predicate Calculus and Program Semantics)[2] 中的一本或两本。对于不太倾向于形式化数学的程序员来说,前者更容易上手。而后者基本上是采用了相同的概念,并且……
…mode that only allows edits that 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…
……可能会被用到。由于任何给定的谓词转换器(predicate transformer)都有其语法表示,其结果就是程序文本本身。如你所见,该结果在构造上就是正确的。我推荐阅读 Dijkstra 的《编程审美》(A Discipline of Programming),里面有使用谓词转换器推导正确程序的实用范例。如果你想对同一课题进行更严密、形式化的探讨,可以看看 Dijkstra 和 Scholten 的《谓词转换器……
…might be used. Since any given predicate transformer has a syntactic representation, the result is the program text. As you can see the result is correct by construction. I recommend reading Dijkstra’s A Discipline of Programming for pragmatic examples of using predicate transformers to derive correct programs. If you want a more rigorously formal treatment of the same subject there’s Dijkstra and Scholten’s Predicate Transformers…