
Object thinking
by West, David · first published 2004
27mentions
12recommended by
16HN commenters
2014–2026first – last mentioned
75% recommend25% neutral
Why HN recommends it
Explains object orientation as a way of thinking about behavior and independent entities rather than data, clarifying what OOP really is; suited to developers who want the philosophy behind object design.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.







…"Thinking in Systems: A Primer" by Donella Meadows changed how I approached designing/troubleshooting software systems as well as changed how I think about political policy decisions and their results. "Object Thinking" by David West dramatically altered how I approach designing OO systems. I especially liked the chapter(s) where he used different real-world metaphors for designing systems. For example, asynchronous…
on “Ask HN: What books changed the way you think about almost everything?” ↗…that explicit assumption that they’re coming from people wedded to inheritance, and not from people who dislike disingenuous arguments and circular reasoning. Read a fucking book, instead. David West’s Object Thinking, for example.
on “Data-oriented design or why you might shoot yourself in the foot with OOP (2009)” ↗I'd highly recommend Dr. David West's "Object Thinking" book. It does an excellent job of (1) describing how most programmers who use an OO language fall into writing "small Cobol" programs and (2) how to avoid this.
on “Ask HN: How to Learn OOP” ↗…recognize them. Besides, several of the design patterns from the GoF are not necessary in a language with closures. I strongly recommend three books: Smalltalk, Objects, and Design - by Chamond Liu Object Thinking, by David West Object Design: Roles, Responsibilities, and Collaborations by Rebecca Wirfs-Brock
on “Ask HN: How to Learn OOP” ↗Kudos for mentioning David West! I strongly recommend his book "Object Thinking" as the book about what OOP really is, how object orientation is achieved and which languages' philosophy is OO compatible and which ain't (spoiler: C++ and Java are in the latter group). While Java is…
on “Design Patterns – A comprehensible guide” ↗Oddly enough, three of my favorites are all written by Davids. 1. "Object Thinking" by David West (http://davewest.us/product/object-thinking/) 2. "Introduction to Computing" by David Evans (free PDF available: https://computingbook.org/) 3. "Data Model Patterns: Conventions of Thought"…
on “Ask HN: Best book for software engineers (besides the well-known ones)?” ↗…downvotes, particularly the explicit assumption that they’re coming from people wedded to inheritance, and not from people who dislike disingenuous arguments of any form. Read a fucking book. David West’s Object Thinking, for example. Thank you for clarifying that your downvote was definitely not an emotional overreaction. :)
on “Data-oriented design or why you might shoot yourself in the foot with OOP (2009)” ↗Another good book if you're interested in actors/behaviour decomposition instead of data decomposition is: Object Design: Roles, Responsibilities, and Collaborations and also https://www.amazon.com/Object-Thinking-Developer-Reference-D... Also David West Presentation https://www.youtube.com/watch?v=RdE-d_EhzmA
on “Alan Kay on the misunderstanding of OOP (1998)” ↗Fiction: Peter Watts - Blindsight Nonfiction: Gödel Escher Bach CS: David West - Object Thinking
on “Ask HN: What books have made the biggest impact on your mental models?” ↗Object Thinking, by David West for the essential ideas and philosophy of sane OOP.
on “Re: Moving from PHP to Go and Back Again” ↗…from viewing objects from the outside as things to be manipulated, to viewing them from within as independent entities with boundaries. What made it click for me was watching Alan Kay talks and reading “Object Thinking” by David West. Now, I think the idea is due for some sort of renaissance. Though the culture of programming has turned against it in favor of FP, OOP continues to underlie the most important languages,…
on “Ask HN: Concepts that clicked only years after you first encountered them?” ↗…programmer, program, computer, user agent, or user. For additional perspectives, I recommend reading Part I of "Object-Oriented Analysis and Design with Applications" (3rd edition) by Grady Booch et. al, and "Object Thinking" by David West. --- That said, I think you're right about the single responsibility principle in this example. A class with too many behaviors should usually be decomposed into multiple classes, with…
on “Clean Code vs. A Philosophy Of Software Design” ↗"Object thinking" by David West was eye opening about this back in the day. The gist is to model the objects not along the line of real world entities, but along the line of "behaviour" like you mention.
on “Why OOP Exists” ↗Object Thinking by David West.
on “Ask HN: What are the bibles of Computer Science?” ↗Object Thinking by David West
on “Ask HN: What books have made the biggest impact on your mental models?” ↗