Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $9.74 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

A Discipline of Programming [Paperback]

Edsger W. Dijkstra
4.4 out of 5 stars  See all reviews (11 customer reviews)

List Price: $94.00
Price: $72.19 & FREE Shipping. Details
You Save: $21.81 (23%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 5 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it Monday, July 14? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Hardcover --  
Paperback $72.19  
Unknown Binding --  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Frequently Bought Together

A Discipline of Programming + The Science of Programming (Monographs in Computer Science)
Price for both: $136.54

Buy the selected items together

Editorial Reviews Review

Author Edsger W. Dijkstra introduces A Discipline of Programming with the statement, "My original idea was to publish a number of beautiful algorithms in such a way that the reader could appreciate their beauty." In this classic work, Dijkstra achieves this goal and accomplishes a great deal more.

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

  • Paperback: 217 pages
  • Publisher: Prentice Hall, Inc. (October 28, 1976)
  • Language: English
  • ISBN-10: 013215871X
  • ISBN-13: 978-0132158718
  • Product Dimensions: 0.5 x 5.9 x 8.7 inches
  • Shipping Weight: 15.2 ounces (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #580,506 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.4 out of 5 stars
4.4 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
28 of 31 people found the following review helpful
5.0 out of 5 stars computer science classic September 26, 2001
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 .
Was this review helpful to you?
17 of 20 people found the following review helpful
5.0 out of 5 stars The finest book that I own. July 31, 1998
By A Customer
I purchased A Discipline Of Programming about fifteen years ago, at the start of my programming career. It remains the most important programming book that I own, and possibly the most important book of any kind. Anyone who aspires to be a programmer should spend many hours reading it. It is impossible not to benefit hugely.
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.
Was this review helpful to you?
10 of 12 people found the following review helpful
5.0 out of 5 stars A book about reasoning September 27, 2000
This is not only a book about programming, it is also a book about reasoning on programs, and even a book about reasoning. Treating a program as a formal object, the book discussed its meaning, how to reason about it, and even how to derive it. If you are not a hacker or do not want to be one, you will like this book, and highly possiblely you will read it many times.
Comment | 
Was this review helpful to you?
19 of 27 people found the following review helpful
3.0 out of 5 stars Nice place to visit, wouldn't want to live there July 26, 2002
By A Customer
I really wanted to get my hands on this book and now that i have (via interlibrary loan) i want to warn folks that this is not light reading. I found a majority of this book very boring and all but impenetrable. I like Dijkstra's English prose, but when he embarks on the math I wish he'd state the point of each set of formulae above them. It would have also helped if he stressed practical uses of his insights vis-a-vis an actual programming language. This "just shows how much I know" I'm sure, but I suspect many people will feel similarly. FYI: My background is Bachelor's in C.S. with a C.S. GPA of 3.87/4.0. A depressing indictment of U.S. education, Dijkstra would say :)
Was this review helpful to you?
8 of 11 people found the following review helpful
5.0 out of 5 stars How to loop. August 3, 2005
This book shows by example that iterative algorithms can be derived - you don't need a lucky inspiration to discover them. If you have ever vacillated between putting something in the initialization or body of a loop; or written a loop that doesn't terminate in some cases; this will change your whole approach to coding.
Comment | 
Was this review helpful to you?
8 of 11 people found the following review helpful
5.0 out of 5 stars Still relevant after all these years July 26, 2000
I still have my original copy of this book. It is one of thefew that are not in storage.
Many of the concepts (such as the chapters on arrays and verification) are still fresh. The emphasis on developing programs by stepwise refinement has guided much of my own programming...
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
Search Customer Reviews
Search these reviews only

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category