Please note that some of the books mentioned here are now freely available on the net at http://www.iam.unibe.ch/~ducasse/FreeBooks.html -- MartinH�cker
SmallTalkEightyTheLanguage? and SmalltalkTheLanguageAndItsImplementation are two of the earlier books.
If you are learning VisualWorks, a good book is "Smalltalk: An Introduction to Application Development Using VisualWorks" by TrevorHopkins? and BernardHoran?.
SmalltalkObjectsAndDesign is an excellent book, even if you don't want to use VisualAge. Most of the book is Smalltalk-version independent, even language independent.
Once you're past the initial learning, SmalltalkBestPracticePatterns is a good way to learn why Smalltalk is so cool (he humbly says, gleefully hand rubbing over TENS of dollars in extra royalty checks). --KentBeck
No, it is not a good way to learn why Smalltalk is cool, it is an ideal way to learn how to be cool! The book uses pattern form to teach the best coding practices for Smalltalk. If you are interested in patterns for other languages, it is still worth while getting SmalltalkBestPracticePatterns to get ideas, because lots of the patterns carry over. --RalphJohnson
HP publish a book called TheArtAndScienceOfSmalltalk?, which is very good too. SmalltalkObjectsAndDesign is not exclusively about Smalltalk but is worth a read - it offers some useful insights into the importance of SystemMetaphor's. -- MikeHowells
I have been playing with SqueakSmalltalk some recently, with the goal of really learning Smalltalk, and I find it to be pretty close to Smalltalk-80 as described in SmallTalkEightyTheLanguage? (and to TekSmalltalk?, which is the one I have actually done a little work on once upon a time).
I have also been looking at some books.
-- BillTrost
Bill, take a gander at the DiscoveringSmalltalk review. I'm using it to teach beginners (to objects and to programming both). -- DouglasAuclair 990513
Furthermore, is RapidSoftwareDevelopmentWithSmalltalk accessible to beginners, or is it another "second book"? Is it implementation-specific?
It's great that Kent gets tens of dollars for every copy you buy... er, is that what he said? I MEANT to say that I would get ten dollars extra total, a significant increase in my total take. The new book collects ~50 of my articles with a little retrospective introduction. kb
See KentBecksGuideToBetterSmalltalk.
See also:
Q: The SmalltalkLanguage sounds great! Where can I get it?
A: See SmalltalkImplementations.
If "definitive" is the operative word, I would have to second the recommendation for SmalltalkTheLanguageAndItsImplementation. IMHO one of the cooler things about the earlier releases of Smalltalk-80 was its support for discrete-event simulation, and this book devotes an entire part(out of four) to that topic. The serious student might also appreciate SmalltalkBitsOfHistoryWordsOfAdvice?. This book is hard to find, but is a compendium of very insightful papers from the who's who among early implementors of Smalltalks at XeroxParc, Tektronix, CalBerkeley, and HP.
In the same vein I would automatically plug SmalltalkBestPracticePatterns and everthing else KentBeck has written :-)
Another valuable reference heretofore missing from this page is TheSmalltalkDevelopersGuideToVisualWorks by TimHoward, which contains a thorough exposition of the VisualWorks classes involved in the user interface layer (e.g., VisualComponent, ApplicationModel, etc.).
There is also the two-volume set InsideSmalltalk? by WilfLaLonde? and JohnPugh. These books predated VisualWorks but Volume I is still very helpful in terms of an introduction to programming in Smalltalk and a detailed explanation of the behavior of the classes in the core class categories of the Smalltalk-80 class library.
Finally there is AdvancedSmalltalk? by JonathanPletzke?, which focusses on topics like processes & threads, exception handling, primitives, deployment, DBMS access, etc.
And for a Smalltalk slant on DesignPatterns, check out the DesignPatternsSmalltalkCompanion. --JohnVlissides
See the HeartOfSmalltalk.