Second this. I credit this book for making me the programmer I am today. Scheme is such a wonderful language having come from C/C++ before it. Of all the subjects that affected me by learning Scheme, using Scheme to implement OO as message passing opened my eyes compared to C++.