views:

800

answers:

8

What is a single book you would recommend to someone interested in Smalltalk?

I've started looking into Smalltalk some weeks ago. So far I've gone through the Cincom tutorials (1 and 2) and I've read Squeak by Example, which I found quite good for getting the hang of the Smalltalk model, despite the poor organisation and several mistakes. Now I've started The Art and Science of Smalltalk.

What book would you recommend? I'm looking for something short, but concise, something that really captures the interesting and powerful bits of Smalltalk, like K&R is for C.

+6  A: 

Smalltalk Best Practice Patterns by Kent Beck

Janko Mivšek
I seem to be the only person on the planet that thinks that Kent Beck can't write, can't copy edit his books, can't explain well and should be avoided at all costs.
anon
Well, this exact book is very well written. Also one of his earliest books so it could be that later are not as good. I read just this one.
Janko Mivšek
I only know of this book and something he merely collated. This book is well done... too bad it's long out of print.
Randal Schwartz
You can buy a copy on Amazon, so it's not *that* out of print!
Frank Shearar
I've looked at the table of contents and seems interesting. It's not that beginner's "start using" kind of book, and I think it would be useful for programming in other OO languages.
Andrei Vajna II
I've certainly found it useful in other languages: Delphi, C#.
Frank Shearar
This book is highly recommended to make you a better Smalltalk programmer, but as a beginner, it would be hard to learn Smalltalk from this book.
Chris Melinn
cartoonfox
+3  A: 

I recommend Smalltalk by Example by Alec Sharp. It's out of print but still available 2nd hand. Lot's of examples and an easy read.

KHWP
Yes that is a good answer. Unfortunatly what Neil wrote is all too true. There is not one good book available for Squeak but the pagesat http://squeak.preeminent.org/tut2007/html/index.html
Friedrich
Thanks, but I don't think I want to read another "by Example" book. :)
Andrei Vajna II
+2  A: 

Gosh, this is certainly Smalltalk night on StackOverflow!

Frankly, my opinion is that there are no books on Smalltalk of the quality of those available for C and C++. Squeak By Example, which you have already read, is one of the better ones, but that's not saying much. The only good news is that almost all ST books are available on line, so you won't be out of pocket if you pick up a clunker - see http://stephane.ducasse.free.fr/FreeBooks.html for a list.

anon
I'm thinking you're right on this one.Thanks for the list, I already knew about it, but it's not useful for my answer. I was looking for just one book.
Andrei Vajna II
+1  A: 

"something that really captures the interesting and powerful bits of Smalltalk"

Most of the books try to get a complete beginner up-to-speed with the basics of a particular Smalltalk implementation and IDE - the "interesting and powerful bits" tended to be discussed in technical reports, papers in conferences like OOPSLA and ESUG, and magazine articles.

You'll be able to find pdfs for some of those, for example "Wrappers to the Rescue" pdf

I suggest you look at code, like the MOOSE subprojects.

igouy
Yeah, I'm getting that feeling, too. Thanks for that article. I'll look into it.
Andrei Vajna II
Also someone scanned "The Smalltalk Report 1991-1996" http://lambda-the-ultimate.org/node/1181
igouy
+1  A: 

The Design Patterns Smalltalk Companion is not really about Smalltalk per se, but it gives the perspective of Smalltalk on the well-known GoF patterns. IMHO it explains and discusses each pattern better than the GoF book.

We wrote Squeak by Example to help people get up to speed with the tools and environment in Squeak, rather than with Smalltalk itself. Things can be, how to say, colorfully confusing in Squeak :) It gets better with Pharo though.

I discovered Smalltalk with Alec Sharp's Smalltalk by Example, because it's more a mentoring book “look, here's how I do that usually”. Actually, the language itself is quite easy to understand, the problem is more with the tools, the environment, the libraries, the workflow. And for that the best is just practice, exploration, and asking stupid questions on the squeak-beginners mailing list, for instance :)

Damien Pollet
Still I found great moments of inspiration in some parts of "Squeak by Example" like the one where the implementation of Booleans using polimorphism is discussed and the 10 rules of the object model and the whole chapter about classes and metaclasses.
Andrei Vajna II
+1  A: 

There is a follow-up of "Squeak by Example" in the making. Stay tuned!

Adrian
+1  A: 

I found Smalltalk: Getting The Message The Essentials of Message-Oriented Programming with Smalltalk by Alan L. Lovejoy to be one of the best introductions to Smalltalk: http://www.smalltalk-resources.com/Smalltalk-Getting-the-Message.html

Mirko
A: 

The Definitive book of Smalltalk is "The Blue Book". It's definitive the same way that K&R was definitive for C (at least until there was an ANSI spec).

Here's the reference:

http://www.amazon.com/Smalltalk-80-Language-Implementation-Adele-Goldberg/dp/0201113716

It's out of print these days (because the last part of the book on how to build your own smalltalk is now out of date).

You have to get "The Purple Book" - which is the Blue Book minus the out of date bits:

http://www.amazon.com/Smalltalk-80-Language-Adele-Goldberg/dp/0201136880

You can still download a whacking big 32Mb PDF of the entire blue book here:

http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf

cartoonfox