![]() |
| ||||||||||||||||||||||||
|
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free. |
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.
Product Details
Would you like to update product info or give feedback on images? |
Coming from no less a person than Dijkstra, this book, though dated takes programming to a different level.
It blesses the discipline of programming with the mathematical formalism and begins to look at it as a piece of mathematics.
I picked this book while doing my CS undergraduate, and made me fall in love with CS, all over again.
It does NOT however talk much about programming techniques or methods! It looks at programs from as formal a view point as possible and builds a framework for constructing 'correct' programs..or more correctly a framework for 'proving the correctness' of a program. It takes you to the point of considering programs as poetry..
Its difficult to contemplate the application of the thoeries developed here into practice, though a lot of it is used in some form or the other, but nonetheless it makes an excellent reading.
I recommend it to anybody seriously interested in computer science .
The (unnamed) language invented by Dijkstra, almost as an aside in the early chapters of the book, is the language in which I would most like to write my programs. Some day perhaps I will be able to.
Many of the concepts (such as the chapters on arrays and verification) are still fresh. Read more