
Program development in Java
by B. Liskov · first published 2000
9mentions
3recommended by
4HN commenters
2010–2026first – last mentioned
75% recommend25% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.







Back in the day, I treasured my copy of Liskov and Guttag's "Program Development in Java". I enjoyed its discussion of a disciplined programming style centered around maintaining invariants in your data structures. It was also the only book I've seen which talked about modeling the state…
on “An interview with Barbara Liskov” ↗Program Development in Java: Abstraction, Specification, and Object-Oriented Design - Liskov & Guttag Teaches OO programming, just happens to use Java as the language.
on “Ask HN: Course or book to learn Java?” ↗No. You might find the book Program Development in Java: Abstraction, Specification, and Object-Oriented Design by Barbara Liskov and John Guttag very useful for understanding OOD/OOP.
on “Pretending OOP Never Happened” ↗…Motif on Unix platforms. I had pointed you to Bertrand Meyer's book OOSC2 (in my other comment) as the book to read to understand OOD/OOP. Another great book to study is Barbara Liskov and John Guttag's Program Development in Java: Abstraction, Specification, and Object-Oriented Design.
on “Ask HN: Concepts that clicked only years after you first encountered them?” ↗You might find Program Development in Java: Abstraction, Specification, and Object-Oriented Design by Barbara Liskov with John Guttag interesting.
on “Object-oriented Programming with ANSI-C (1993) [pdf]” ↗…Well from his book Object Oriented Software Construction, second edition book - https://archive.eiffel.com/doc/manuals/technology/oosc/inher... Finally see Barbara Liskov's own book (with John Guttag) Program Development in Java: Abstraction, Specification, and Object-Oriented Design for a "correct approach" to OOP. Note that Java is just used as a example language while the principles are language independent.
on “Liskov Substitution: The real meaning of inheritance” ↗…non-scientific and the snake-oil hype ... ridding the world of the OOP rot is a far deeper infection. You are spewing nonsense. Read Bertrand Meyer's Object-Oriented Software Construction, Barbara Liskov's Program Development in Java: Abstraction, Specification, and Object-Oriented Design and Brad Cox's Object-Oriented Programming: An Evolutionary Approach for edification on OOD/OOP.
on “Why I Always End Up Going Back to C” ↗…now: * Chapter 3 of http://mitpress.mit.edu/sicp/ -- also chapters 1 and 2. * _Abstraction and Specification in Program Development_, on design by contract. There's a newer book by the same authors, _Program Development in Java_, but Norman Ramsey says it's not as good. (I've only read the older one.) By Liskov & Guttag. Focuses on abstract datatypes rather than OOP classic. Bertrand Meyer's _Object-Oriented Software Construction_…
on “ Ask HN: What are some good books for understanding OOP? ” ↗…different ways of emphasizing different combinations of the above aspects for your abstractions based on your design needs. References: 1) Software Fundamentals: Collected Papers by David L. Parnas. 2) Program Development in Java: Abstraction, Specification, and Object-Oriented Design by Barbara Liskov and John Guttag. 3) Multi-Paradigm Design for C++ by James Coplien.
on “When did people favor composition over inheritance?” ↗