HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Smalltalk, Objects, and Design

Chamond Liu · 2 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Smalltalk, Objects, and Design" by Chamond Liu.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
This reference and text treats the Smalltalk programming system and the web of object-oriented ideas within and around it. Thus it is more than a guide to the language; it also examines Smalltalk in its technical and historical setting, and along the way addresses the questions that every Smalltalk developer sooner or later naturally wonders about. Assuming nothing more than general programming experience, it begins with what objects and classes are, and eventually progresses to subtle matters such as the distinction between types and classes. Going beyond typical programming language books, it also covers the most important design patterns and how to write them in Smalltalk. The thrust then is not merely programming in Smalltalk with objects, but thinking and designing effectively with objects. This edition is a reprint of the original 1996 edition. Although the intervening years have brought the accustomed rapid changes in the computing industry, the principles presented here remain as relevant now as then. "Three of my favorite topics are Smalltalk, objects, and design. Chamond Liu's book is the perfect blend of these topics. I heartily recommend this book to practitioners who don't want to read a dry treatment on design methodology or yet another programming book. You will be treated to elements of good design, a historical perspective, design patterns demystified and coded in Smalltalk, and just the right mix of Smalltalk programming and object concepts."—Rebecca Wirfs-Brock, author of Designing Object-Oriented Software "Well-written and well-thought-out. . . . The chapter on design patterns especially is first-rate."—Doug Lea, author of Concurrent Programming in Java, and Object-Oriented System Development "One of those rare books that rewards both beginners and experts with insights appropriate to their levels. In addition, the writing style—combining incisiveness and grace—makes it a real pleasure to read."—Dave Collins, author of Designing Object-Oriented User Interfaces "Best book on Smalltalk I've seen!"—Sherman Alpert, author of The Design Patterns Smalltalk Companion ". . . approachable, literate, fun, accurate and different . . . the writing is of the highest calibre."—Ralph Johnson, author of Design Patterns: Elements of Reusable OO Software "I am very impressed with it. . . . Unlike all of the other books, it covers all of the important issues relevant to effective understanding of the language under one cover."—Ed Klimas, author of Smalltalk with Style "What I liked most about this book was the confidence with which Liu presents a wide range of topics: objects, architecture, gui, frameworks, design, patterns—all the right stuff. If a bright developer from some other branch of our discipline were to use his book as his only source of information, he would come off as savvy and well connected, even at a Smalltalk conference. And he would enjoy the experience too, since Liu never talks down to his readers."—Ward Cunningham, CRC Card inventor "A very solid and entertaining book by an expert communicator . . .. Beginners and old hands alike will find useful ideas, entertaining writing and thought-provoking allusions to broader technical, literary and philosophical topics."—Martin Nally, chief architect of IBM Smalltalk and VisualAge ". . . the scope and level very interesting . . . a very useful collection of things which are spread around and hard to find . . ."—Tom Morgan, Manager of Technology Development, Brooklyn Union Gas "A very well written book; a pleasure to read cover to cover. Good chapters on design patterns, metaclasses and garbage collection, etc. You can tell by the writing style that the author is also a teacher—conveys information gracefully and effectively. Highly recommended."—Paul Jasek, Chubb & Son, Inc.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Interesting, I've been learning and doing almost everything 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 helpful or worth it to dig into all this for someone now?

[1]: https://www.amazon.com/Smalltalk-Objects-Design-Chamond-Liu/...

bowsamic
You should read Gang of Four imo. There are still a lot of very influential ones in there
progre
"Read" GoF is not a thing I would do, just as I don't sit down and read a recipe book. Because GoF is kinda a recipe book for oop.

I would skim it though, just to have a sense of what's in there.

bowsamic
It's not very long. Why not just read it and work through it? It isn't written like a recipe book, but even if it was, you should sit down and read your recipe books
The original MVC architecture was for GUI interfaces in Smalltalk. It was so helpful a 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.

[1] http://www.amazon.com/Smalltalk-Objects-Design-Chamond-Liu/d...

alttab
My original implementation of Mvc was writing a game of connect 4 in java. There was a board model. There were two views. One graphical, and one command line. You could update both views by clicking your next move on the graphical board, or putting input on the command line. Once the model was updated, the controller would update any view that was listening on it.
cbsmith
The controller shouldn't be updating the views. The views should be observers of the models. The controller updates the model, which triggers messages from the models to their observers, the views. They would then would then reflect the change in the model.
HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.