FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
Trade in your item
Get a £0.88
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Smalltalk, Objects, and Design Paperback – 1 Apr 2000

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£13.53 £5.00

Trade In Promotion

Trade In this Item for up to £0.88
Trade in Smalltalk, Objects, and Design for an Amazon Gift Card of up to £0.88, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 312 pages
  • Publisher: iUniverse (1 April 2000)
  • Language: English
  • ISBN-10: 1583484906
  • ISBN-13: 978-1583484906
  • Product Dimensions: 18.4 x 2 x 23.5 cm
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 1,160,864 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Product Description


A specific, practical guide to using object-oriented principles in the SmallTalk environment. This book describes object-oriented design principles and then demonstrates those principles at work in real SmallTalk programs. --This text refers to an out of print or unavailable edition of this title.

About the Author

Chamond Liu is an independent consultant, experienced in designing and implementing both applications and systems software. He has worked with clients in 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.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

4.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

14 of 15 people found the following review helpful By A Customer on 15 Aug 2001
Format: Paperback
This book should be read by every developer trying to do object oriented development. Even though there is a Smalltalk icing over the book, Java developers (especially those coming from C++) can greatly benefit from this book. It clearly explains the do's and dont's of object orientation in all its aspects, using a very distinct sequence of introducing the individual concepts. A joy to read!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By Mr. R. J. Jepps on 5 April 2002
Format: Paperback Verified Purchase
I bought this book to help me to follow articles and postings on the subjects of OO & patterns written by SmallTalk developers, and to understand the alternative that SmallTalk offers to the strongly typed OO languages such as Java and C++. My interest is therefore more on the "Objects & Design" side, rather than in learning to program in SmallTalk.
Overall this is a well written book, with clear explanations and a pleasant writing style that I found easy to read. There is a particularly clear explanation of different types of Garbage Collection algorithms. There are some other very nice explanations throughout the book, that tell you something that you probably knew already but in a remarkably clear way.
There were a few things that I didn't like:
SmallTalk is a small language, however it takes most of the book to introduce all the language constructs. I would have preferred to have the language constructs defined completely early on - it's small enough to do this - and then see them applied in the Objects & Design chapters.
I also didn't find the explanation of method arguments at all clear. I'm sure it is easy enough to work it out when you actually start to program - and this brings me on to my main criticism. The book forces you to program in SmallTalk as you read. It deliberately withholds basic information in order to make you find out for yourself. This makes it unsuitable for reading on a bus/train/'plane, and for those that like to understand the theory before they start to put it into practice.
Perhaps this is a matter of personal preference - and it does seem consistent with the "design by evolution" culture that has some prominent advocates from the SmallTalk camp.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback
Clear, concise, easy on the mind... thought provoking.

I wish the exercises included somekind of cheet sheet at the end. Sometimes, depending on the reader, the leap to solve the exercises is too great, but not impossible.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 16 reviews
11 of 11 people found the following review helpful
FABULOUS BOOK !!! 9 May 1998
By Shubha Ramani - Published on Amazon.com
Format: Hardcover
The old adage, "Don't judge a book by its cover" rings true with Chamond Liu's "Smalltalk, Objects, and Design". Its pea green, unappetizing exterior does not tempt most to buy...at least, I felt that way when I first spotted the book at a walk-in bookstore. However, I read all the glowing reviews about the book on Amazon, and based upon this, I decided to purchase the book. What can I say ? This book is awesome ! After stumbling through many OO, C++, Smalltalk, you-name-it-OO books in my lifetime, I have finally found THE BOOK which explains so clearly all those fuzzy OO concepts which I never quite understood before. This book is geared towards Smalltalk, and is a great beginner's Smalltalk book. However, even if your goal doesn't include learning Smalltalk - this book is highly advised. It is full of gems and surely has something to teach to even the most seasoned OO professional (regardless of her programming language background). Thank You Mr. Liu for taking the time and effort to write such a terrific book. You have done a great service to the software development community, with this effort. I anxiously await your next book.
My favorite chapter is Chap. 17, entitled "Two kinds of inheritance". It opened my eyes and taught me things that I had never imagined before, and I have read umpteen OO books.
Take my advice - BUY THIS BOOK ! Reading it will give you a huge competitive edge.
10 of 10 people found the following review helpful
Like the title, this book is pure distilled information 28 Aug 2004
By David - Published on Amazon.com
Format: Paperback Verified Purchase
"Smalltalk, Objects, and Design" is such a simple and unexciting title, and yet that's what this book is, in its entirety. This book will teach you about Smalltalk, it will teach you about objects (using Smalltalk as the medium, but you will learn much about Object Oriented programming that is applicable in any language), and it will teach you about good design principles.

It is written in clear, straightforward prose. In each chapter, the author presents a new idea, discusses the reason for that idea and its implementations (and often discusses several alternative solutions to a given problem that have been adopted historically or in other languages, as well), then gives some concrete examples, some exercises to reinforce the point, and then summarizes. I learned a lot of things in this book that I only vaguely understood before. How garbage collection works. How Smalltalk really accomplishes "everything is an object." What "weak references" are and how to use them. How the Model-View-Controller framework works. There are good discussions about inheritance and how to avoid overusing it, implementation of polymorphism, reifying methods, and so on. Good, meaty stuff especially for the beginning OO programmer.

This book talks about Smalltalk from a design perspective, so while there is an introduction to Smalltalk and a lot of examples to help you learn, it really isn't intended to teach the language. If you have no Smalltalk experience at all, the book will teach you enough to follow along, but you'll want another book to go further in the language. It is fairly implementation-neutral; the author uses IBM's VisualAge for his examples, but he provides tables and footnotes when it's necessary to point out the differences with other Smalltalk implementations such as VisualWorks, and as a VisualWorks user myself, nothing in this book threw me off.

Objects are explained in great detail, starting with the hierarchy (in Smalltalk), what classes really are, how inheritance really works, "buying" vs. "inheriting" (i.e., "has-a" vs. "is-a"), abstract classes, Containers, polymorphism, and many other crucial OO concepts. Again, it's focused on Smalltalk but if you do OO-programming in Java or C++ or some other language, there is a lot here that will be useful to learn (and the author even adds footnotes here and there commenting on how certain things are done in C++ or other languages).

The design chapters are good, though not as thorough, as software design is really a vast subject requiring many books in its own right. The author gives brief treatment of a lot of practices covered in much more detail in other books; for example, there is a chapter on design patterns, much of which is adapted from the famous "Gang of Four" book "Design Patterns" (Gamma, Helm, Johnson, and Vlissides). The author talks about CRC cards, UI design, software engineering practices, frameworks, and other topics that can't really be done justice in a chapter each.

If I were teaching a class in Object-Oriented Programming, I would use Smalltalk as the language to teach basic OO concepts, and I would use this book as the text. Even if I had to use Java as the teaching language, I would find a good Java-based book on OO-programming, and supplement it with this one.

The final chapter, "Why Developing Software is Still Hard," was the author's opportunity to digress, and is worthwhile for all new programmers to read. Basically, there is a lot of Object-Oriented Kool-Aid out there, and if you take this chapter to heart, you'll avoid drinking some of it.
8 of 8 people found the following review helpful
Great book for beginners and no-longer-beginners alike 17 Jan 2005
By tangofan - Published on Amazon.com
Format: Paperback Verified Purchase
When I first looked into this book I thought "Oh well, this is just another book for Smalltalk and OOP beginners". Well I was wrong.

This book starts indeed from the fundamentals (objects and messages) and warns against certain pitfalls that beginners are prone to. It covers a few aspects of the class library, especially container classes as well as the MVC paradigm.

This book strongly focuses on design questions, i.e. "When to buy and when to inherit". It has a great chapter on "Specificaton inheritance" vs. "Implementation inheritance" and a chapter explaining the concept of design patterns as well as giving some example patterns for Smalltalk.

While a Smalltalk beginner might need more books to give a more complete introduction into the class library, this is a good book to expose beginners to the nuances of Smalltalk and OOP. The more advanced will appreciate the nuances in the design discussions especially in the 2nd half of the book.

In summary I can highly recommend this book for beginners and no-longer-beginners alike.
7 of 7 people found the following review helpful
The Best Beginner Book on O-O Design & Programming 4 Jan 2001
By "jedralin" - Published on Amazon.com
Format: Paperback
Mr. Liu has done a great service to the software development community by writing a clear, concise, approachable book on O-O Design & Programming. Thank you, Mr. Liu.
Many old-timers and not-so-old-timers in the profession have been trained under the so-called "Structured-Procedural" development discipline, and many are having a difficult time handling the huge paradigm shift. The learning curve is just too steep, as my own experience has shown.
As an old colleague of mine told me once, the main stumbling block in moving to Java, a popular language today, is developing a solution that's "object-oriented." One can very easily write "Pascalese" code in Java. (Of course, you can do the same in Smalltalk or C++.)
Mr. Liu's book takes one step-by-step through short chapters that can be read in 1 sitting or 2. Interspersed in the chapters are exercises to challenge the reader and scratch his head a little. These has greatly assisted me for one in understanding the topics.
A sampling of important items/lessons in the book: 1. What is the Programming Object (as opposed to programs & data-structures)? 2. Subtypes vs. Subclasses 3. Consistency and Polymorphism 4. Design Patterns "demystefied" (this book should prepare one to approach the G4 Design Patterns book with confidence)
I have always thought that the key to teaching oneself effectively, is getting hold of a good and right book for one's learning style. This could be also the right one for you.
A note on the author's use of Smalltalk: It should not really matter that it is not Java or C++. You can easily move on to them once you've grasped what Smalltalk, Objects and Design is all about.
-From an original SP-programmer turned OO-developer
7 of 7 people found the following review helpful
Fascinating book, really teaches OOP 14 May 2003
By Ronald J. Legere - Published on Amazon.com
Format: Paperback Verified Purchase
Ok, its not THAT old, but software moves fast. And Liu was downplaying 'implementation inheritance' before most people understood that there was a problem with it. One of the few books out there that really explains objects, why they work, and how to work with them without shooting yourself in the foot. The book is honest about where objects work, and is not a 'rah-rah objects rock!' type book at all. Liu uses smalltalk as the language to discuss object oriented programming and design, but this is not a book just for Smalltalkers (although it does introduce you to smalltalk).
Were these reviews helpful? Let us know