Discovering Smalltalk by Wilf Lalonde
ISBN 0805327207
This is a good SmalltalkBook for someone who has no OO knowledge/experience wanting to learn Smalltalk for several reasons:
- It avoids the Object-Theory-in-Chapter-One-Syndrome. Too often I've seen students blown away by the high level description of objects right up front; usually with a very small example (like, "Hello, world!"). (Java people, do you remember that?). The usual response is defensive: "So?" or "This would be so easy to do in [pick their programming language -- I even heard PL/I]!" It usually takes two to three sessions for the student to recover from this seemingly pointless theory. On the contrary, this book avoids theoretical discussions (I think Wilf took the practical approach as a maxim when he wrote this book). Chapter One can be read in 15 minutes; mentioning objects only in passing.
- It avoids the Designing-Classes-in-Chapter-Two-Syndrome. Next, the befuddled student is then usually required to begin designing classes to create new types of objects. "Waitaminit! Why am I creating new kinds of objects when the old ones are confusing enough as it is?" This one-two punch combination usually knocks out many students for the count. However, this book avoids the classes as classes (vice classes as objects) discussion until after chapter 5 or 6. The first 5 chapters introduce the student to the Smalltalk environment (workspaces and inspectors) and interactions with preexisting objects. A well thought-out and gentle approach.
- It avoids opinions. As opposed to promoting one style over another (or comparing Smalltalk to other languages), this book stays to the task at hand: teaching the newcomer Smalltalk.
- It takes its time with concepts. Chapter two is over 50 pages, 40 of them deal with numbers alone (the rest introduces inspectors). Certainly, no book can answer every question, but this book covers each topic at great length.
- It offers exercises and homeworks. At the end of each chapter are around 10 questions. No, they are not the research projects found in Bjarne Stroustrup's latest or DonaldKnuth's the Art of Computer Programming. They are tailored to a student just learning about OOP and Smalltalk. Throughout the chapter, Wilf has exercises for the student as simple as 3+4 printIt to exercises where one action builds on previous ones.
Caveats: although a good beginner's book there are some issues.
- It's dated. Chapter one talks about very old hardware. Smalltalk/V is the learning environment (Smalltalk Express is a descendant that's freely available from ObjectShare). I'm using VisualWorks, so there's some incompatabilities as a teaching textbook (SqueakSmalltalk is also a possibility).
- It teaches some now dangerous techniques. In later chapters Wilf uses #become: as a way to change a variable. In SqueakSmalltalk that's possible, in commercial versions (particularly VisualWorks and VisualAge) it can melt down a system.
- For some, it may be much too slow. A whole chapter on numbers can kill the enthusiasm of someone quick to find the HeartOfSmalltalk. For someone ComingUpToSpeed, this may not be your book.
Summary: overall a good textbook from which to learn Smalltalk. Have someone knowledgeable about your Smalltalk environment to help with your particular version's issues.
-- DouglasAuclair
CategoryBook CategorySmalltalk