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.
About the Author
Chamond Liu is an independent consultant, experienced in designing and implementing both applications and systems software. He has worked with clients industries such as banking, oil and natural gas, mutual funds, and pharmaceutical operations. He is also known for his publications on design patterns and learn-ability of OO programming.