Goodreads helps you keep track of books you want to read.
Start by marking “A Discipline of Programming” as Want to Read:
A Discipline of Programming
Enlarge cover
Rate this book
Clear rating
Open Preview

A Discipline of Programming

4.27  ·  Rating details ·  153 ratings  ·  15 reviews
Paperback, 256 pages
Published March 29th 1976 by Prentice Hall (first published March 1976)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Community Reviews

Showing 1-30
4.27  · 
Rating details
 ·  153 ratings  ·  15 reviews

Sort order
Jun 28, 2015 rated it really liked it
Has one of my favorite lines ever in a textbook:

"For lack of a bibliography, I offer neither explanation nor apology."
Max Lybbert
Jun 09, 2010 rated it it was amazing
This book delivers what I had expected to get from Stepanov and McJones's Elements of Programming (Elements of Programming is great; it's just a different book than I thought it would be).

Dijkstra is a programming legend. Aside from "Goto statement considered harmful" he made a mark in just about every field of programming: from Dijkstra's shortest paths to Dijkstra's banker's algorithm to semaphores to coloring garbage collectors to several others. The opportunity to learn from him really shoul
Jan 06, 2016 rated it it was amazing
I can't do Dijkstra justice with one quick read of this book but what I will say is that Dijkstra impressed upon me immensely the power of abstraction. Abstractions are not nebulous ideas. They are how we're absolutely precise. It is this precision which is at the very nature of a discipline. Dijkstra knew acutely the power of abstraction and of its real role to play in programming. Discipline leads to purity; purity leads to composability; composability is the path to correctness in code. It is ...more
Nick Black
Dec 09, 2007 rated it it was amazing
The most important book any young programmer could find. It changed my life.
Jun 06, 2017 rated it it was amazing
Shelves: to-re-read
very nice book. It gives you new insights on how to program, what is programming, and what is a program. Dijkstra's ideas about programming, were, and still are, very different from the "conventional wisdom". Even if you don't agree with him, i think it's worth checking out.

note. i'm not gonna pretend that i understood all of the text, heck, maybe not even half of it. (end of note)

sad remark. as Dijkstra himself said in the preface, this book is best read with a friend or colleague,
wish there wa
Dan Sutton
Nov 26, 2012 rated it it was amazing
This short book is one of the finest ever written on the subject of programming. Dijkstra's examples are deceptively simple; his solutions are beautiful and elegant. Every programmer should read this: Dijkstra was our progenitor: everything he wrote was relevant and always will be. Dijkstra once stated, "If a programmer can look at his code and say, 'Dijkstra would not have liked that,' then that is immortality enough for me." This book shows us why.
Dennis Glover
Nov 07, 2015 rated it really liked it
By the time I finished the first chapter I was certain I knew nothing about programming.
Nov 30, 2008 marked it as to-read
Shelves: computer-science
more foundational texts in computing
Choi Wonseok
Jun 20, 2010 is currently reading it
it's difficult for me to go on..
stuck on 86page :-(
Feb 25, 2013 rated it really liked it
Shelves: programming
this is one of those books that i intended to read for years, and gave up each time after read through a dozen page or so. this time, i pushed through pattern matching chapter now.beautifully written, lots of insights and wonderful.illustration of problem solving. the main theme is closely related to udi manber algorithn book. It is hard read, enjoy seeing the design and problem solving process.
Sep 03, 2015 rated it liked it
Deepak Kannan
Jan 10, 2009 marked it as to-read
have high expectations with this book
Dec 26, 2013 rated it really liked it
Dijkstra whipped my ass. Awesome book, very difficult. Putting this on my "Re-Read in Five Years" shelf :D
Gabriel Scotillo
rated it it was amazing
Nov 20, 2012
rated it really liked it
Nov 29, 2012
rated it liked it
Sep 09, 2014
rated it really liked it
Nov 01, 2010
Ajay Dubey
rated it really liked it
Dec 24, 2014
Steven Raspudic
rated it it was amazing
Jun 22, 2017
rated it really liked it
Jul 25, 2016
Jaewon Jung
rated it really liked it
Feb 24, 2010
rated it really liked it
Mar 19, 2019
Prince Solomon
rated it it was amazing
Jul 23, 2016
Mikael Lagerkvist
rated it really liked it
Dec 15, 2011
rated it really liked it
May 10, 2016
Ezequiel Martinez
rated it it was amazing
Aug 27, 2015
rated it liked it
Apr 22, 2014
rated it it was amazing
Sep 26, 2018
rated it really liked it
Apr 12, 2018
rated it it was amazing
Oct 01, 2018
« previous 1 3 4 5 6 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Elements of Programming
  • The Elements of Programming Style
  • Algorithms Plus Data Structures Equals Programs (Prentice-Hall series in automatic computation)
  • Computers and Intractability: A Guide to the Theory of NP-Completeness
  • Types and Programming Languages
  • Literate Programming
  • Concepts, Techniques, and Models of Computer Programming
  • The Architecture of Open Source Applications
  • The Seasoned Schemer
  • Purely Functional Data Structures
  • Hacker's Delight
  • The Psychology of Computer Programming
  • Programming Pearls
  • Let Over Lambda
  • Pearls of Functional Algorithm Design
  • The Design of Design: Essays from a Computer Scientist
  • Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  • Programming Language Pragmatics

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Edsger Wybe Dijkstra was a computer scientist. He received the 1972 Turing Award for fundamental contributions to developing programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.

Shortly before his death in 2002, he received the ACM PODC Influential Paper Award in distributed computing for his work on self-st