
Smalltalk, Objects, and Design
by Chamond Liu · first published 1996
10mentions
7recommended by
9HN commenters
2010–2025first – last mentioned
78% recommend22% neutral
Why HN recommends it
Teaches object-oriented design through Smalltalk, covering MVC and other OO architectures. It suits beginners in any OO language and builds design thinking beyond syntax.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








Smalltalk lives on in Objective-C :) I learned the syntax of Objective-C from a tiny reference guide. I learned how to program in Objective-C by reading Chamond Liu's "Smalltalk, Objects, and Design".
on “Why is Smalltalk Dead?” ↗…OO model of Ruby is identical.... I independently arrived at the same conclusion. The main problem with Pharo is the esoteric tooling; life is too short to struggle with tools. That said, I consider Smalltalk, Objects and Design by Chamond Liu to be one of the best books I ever read on the subject of object oriented programming. Heartily recommended.
on “Pharo MOOC” ↗* Smalltalk Objects And Design by Chamond Liu * The Art of the Metaobject Protocol by Gregor Kiczales Don't let the second one fool you. Although it is a Lisp book, it presents OOP design principles applicable to any language.…
on “ Ask HN: What are some good books for understanding OOP? ” ↗…design pattern it was borrowed for use in request/response web application, where naturally the use of each part was very different. If you really want to "get" the original MVC, see the classic book "Smalltalk, Objects, and Design" [1] which explains MVC and other OO architectures as well as the principles behind them, which might guide you to picking an appropriate structure for applications that don't fit the GUI/MVC paradigm.…
on “MVC is dead, it's time to MOVE on” ↗…in an OO model, and you should know them well to 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” ↗Annotated with the date. It is a beautiful video. I also recommend to everyone who's interested in high quality material about OOP to read [1]. [1] Smalltalk, Objects, and Design by Chamond Liu http://claritycomputing.com/book_sod.html
on “Dan Ingalls: Object-Oriented Programming - 1989 [video]” ↗…following particularly useful: 'Smalltalk by Example', by Alex Sharp; 'Smalltalk With Style', by Edward Klimas, Suzanne Skublics and David A Thomas. This is a great book for beginners in any OO language: 'Smalltalk, Objects, and Design', by Chamond Liu Also surprisingly useful (terse, but well structured): 'On To Smalltalk', by Patrick Henry Winston Finally, there's the excellent ProfStef interactive tutorial that's included with…
on “Why Every Ruby Developer Should Learn Smalltalk” ↗…with a functional or procedural style, but I've felt kind of guilty I don't understand OOP patterns enough, or don't know when I would want to use them. So I've been learning Smalltalk/Pharo and reading Smalltalk, Objects, and Design [1] because people say that's what OOP was really supposed to be. It's been interesting and enlightening in some ways, but I still feel like I'd rather do most things without OOP. Do you think it's still…
on “Byte Magazine: The C Programming Language (1983)” ↗…Patterns in Ruby by Russ Olsen, Clean Architecture by Robert C. Martin, and Smalltalk Best Practice Patterns by Kent Beck. Still on the docket are Design Patterns by the Gang of Four, PoEAA by Martin Fowler, Smalltalk, Objects, and Design by Chamond Liu, and Object Design by Rebecca Wirfs-Brock. > confessing that you don't know something and gleefully stopping there is not much better [...] we shouldn't let shamelessness about what we…
on “Confessions of a Software Developer: No More Self-Censorship” ↗Me too. I've also been trying to learn more about OOP and reading "Smalltalk, Objects and Design" bc I heard a lot about how Smalltalk is the real, good OOP. But there were points I just felt squeamish, like when they were talking about the danger of the difference of effect vs. output on methods…
on “Why Racket? Why Lisp? (2014)” ↗