He begins by considering the questions, "What is an algorithm?" and "What are we doing when we program?" These questions lead him to an interesting digression on the semantics of programming languages, which, in turn, leads to essays on programming language constructs, scoping of variables, and array references. Dijkstra then delivers, as promised, a collection of beautiful algorithms.
These algorithms are far ranging, covering mathematical computations, various kinds of sorting problems, pattern matching, convex hulls, and more. Because this is an old book, the algorithms presented are sometimes no longer the best available. However, the value in reading A Discipline of Programming is to absorb and understand the way that Dijkstra thought about these problems, which, in some ways, is more valuable than a thousand algorithms.
I bought the book wanting to learn the guarded command language and
because I have read many EWDs. His writing is clear, the reasoning
precise. Read more
Unknown to many, Dijkstra's algorithms are still the ones primarily used in modern computing. This is a seminal work but tough going for the novice and professional alike.Published 3 months ago by Matthew B
It was strongly "suggested" to me in one of my early microcomputer programming jobs that I read two books to advance my skills - this book and the "Tao Te Ching" of Lao Tzu. Read morePublished on November 12, 2011 by James R. Pannozzi
This is an excellent book in reasoning about programs. It is fairly rigorous and requires a bit of math maturity, and the reader should be warned that formal methods of computer... Read morePublished on December 16, 2003