counter
about us
 
Smalltalk, Objects, and Design | Chamond Liu | Great book for beginners and no-longer-beginners alike
 
 


Suche books:   



 Smalltalk, Objects...  

Smalltalk, Objects, and Design
Chamond Liu

AuthorHouse, 2000 - 311 pages

average customer review:based on 16 reviews
view larger image
 for more information click here

     highly recommended  highly recommended



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.




 for more information click here


Like the title, this book is pure distilled information

"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.


 for more information click here


Great book for beginners and no-longer-beginners alike

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.


 for more information click here


Elegant

If Chamond Liu's code writing is as good as his writing in this book...it must be elegant.


Veteran Smalltalk developer's idiosyncratic catalogue

---QUOTE---
This book is about Smalltalk and objects... By no means is this an advanced book, on either Smalltalk or objects. I have strived to stick to the matters that seasoned Smalltalk developers are fully aware of but consider too obvious to explain.
---END QUOTE---

The book is really interesting to read and touches many OOP-related concepts, concerning the nature of classes and objects, often such that remain in shadows. One problem is that it doesn't explore anything to depth. The other problem is that the book is not about anything in particular. Smalltalk ? Check. Objects ? Check. Design ? Check. So, what is it about ? Difficult to say.

Here is the cast in order of appearance:

1. Objects, classes and inheritance.
2. Smalltalk introduction.
3. Abstract classes.
4. Containers.
5. CRC cards.
6. Inheritance vs. aggregation.
7. Use cases and dynamic relationships.
8. MVC model.
9. Windows, Motif.
10. Designing UI.
11. Polymorphism.
12. Internals of OOP language's virtual machines, garbage collection.
13. Design patterns in OOP development.
14. Frameworks (one hearty example).
15. Metaclasses.
16. Why software development is still difficult.

See any plot ? I don't. And it's because it's not there.

---QUOTE---
This is not an orthodox book. Much of its structure derives from my experiences in sustaining the eagerness and momentum of typical Smalltalk beginners, making sure they learn some really important things.
...
The approach is not encyclopedic. ... You will not find a predictable or monotonous rhythm.
...
Many chapters are relatively independent and accessible without having to digest everything that comes before...
---END QUOTE---

The only hint to a plot that I found was the "hearty example" title. After reading the book I had this impression that the author essentially told his path to the object-oriented framework development. This is why the discussed design patterns accidentally were exactly the ones required for the discussed framework. This is why the object-related topics discussed were essential for explaining it. In other words, this is a book of one-man life philosophy, where veteran Smalltalk developer shares pieces of wisdom with the beginners.

For someone who is not a Smalltalk beginner taught by a veteran developer, this book is at best an insightful hint. If you are interested in object-oriented development, pick and read any chapter that you like, don't bother to read through. You will discover many interesting issues, rarely seen anywhere.


 for more information click here


Not what I was looking for

I wanted a book I could pick up, read fast, and get a quick, passable knowledge of Smalltalk from. This was not the book, but perhaps it never meant to be.

It meant to be used by someone sitting down at a keyboard with a Smalltalk compiler in hand (i.e., not me). The book starts gently, with a few simple expressions to type at the interpreter's command line. Before it even gives the syntax for a Smalltalk function, though, it gives a comparison if the different syntaxes used for inheritance in seven languages, four obscure or obsolete (p.23). The next sections explain simple language elements, unfortunately in terms of GUI-based tools that the reader may not have at hand.

The next few sections wander back and forth between language features, OO design topics, a deeper look under the compiler covers than any beginner really needs, and a shallower look at the libraries than anyone could get by on. This last is especially frustrating in a "small" language, where so much of the capability is built up in the libraries. Instead, we just see a keyword here and there, with no attempt to bind them into a coherent whole. This organization could possibly have made sense if the book were a text for a semester course. If so, it's true to its breed: I generally find them to be poor self-study guides, especially for experienced programmers.

Perhaps this book is good for some purposes, just not for mine.

//wiredweird


 for more information click here


reviews: page 1, 2, 3, 4



products you might be interested in




recommendations

Programming Languages Part 2 - Obscure Languages
Books for the newborn Smalltalk developer
Object Programming




smalltalk


Smalltalk Best Practice Patterns
Smalltalk, Objects, and Design
The Design Patterns Smalltalk Companion (Software Patterns Series)
Smalltalk With Style
Art and Science of Smalltalk, The



objects


Searching for God Knows What
JavaScript: The Definitive Guide
Head First Design Patterns (Head First)
Learning Python, 3rd Edition
JavaScript: The Good Parts



design


Three Cups of Tea: One Man's Mission to Fight Terrorism and Build ...
Adobe Photoshop CS3 Classroom in a Book
Presentation Zen: Simple Ideas on Presentation Design and Delivery ...
The Lucky Guide to Mastering Any Style: How to Wear Iconic Looks and ...
slide:ology: The Art and Science of Creating Great Presentations



search for books
smalltalk objects, design, objects, smalltalk



Google      toavi.com    web
books
apparel
baby
beauty
books
camera photo
classical music
computers
dvd
electronics
gourmet food
health personal care
kitchen
office products
outdoor living
computer video games
popular music
software
sporting goods
tools hardware
toys-games
vhs
watches jewelry







randomly chosen


toys & games: Shark Toob