Op woensdag 14 november 2012 05:43:20 UTC+1 schreef Aaron W. Hsu het volgende:
>
> >However, it's perfectly suitable to an accomplished programmer. Not to
> >learn scheme (there are books more specifically designed to teach you
> >all the nooks and crannies of scheme, such as HTDP (How to Design
> >Programs)), but to open your mind. Prepare yourself for an awakening
> >experience!
>
> For books about learning Scheme, I would probably put HtDP and
> SICP in the same general class. Namely, these are both introductory
> computer science texts that use Scheme as their computer programming
> language. Their approaches are quite different, but they are
> both fundamentally introductory computer science texts. For
> specifically studying and understanding Scheme as a language,
> the combination of "The Scheme Programming Language" and the
> appropriate standard document is really hard to beat.
>
> --
>
> Programming is just another word for the lost art of thinking.
A couple of years ago I first started with SICP to learn Lisp, but after a couple of weeks I gave up, mostly because the other chapters after the first were not about Lisp. I then discovered HtDP and I worked it through (almost) completely. HtDP is certainly one of the best books about programming out there. What I found very enlightening in the first chapters, was on how to think about algorithms and solving problems using only recursion. Another nice thing about the book is that it builds nicely upon DrScheme/DrRacket.
After that I started to learn Common Lisp with only the CLHS and ILISP, later SLIME.
I returned to SICP but with another goal in mind: I wanted to implement a small Lisp, and for that, chapter 4, Metalinguistic Abstraction, is the ideal guideline. I did not implement it in Scheme, but in Perl.
SICP is not really for learning Lisp, it is for learning the basics of CS. Its title should be taken literally: 'structure' and 'interpretation' of computer programs. It contains a whole lot of ways on how programs can be written, and it contains a whole lot of ways that a program can be run.
SICP is a book to keep and to return to, I repeat, not for learning Lisp, but to learn about basic and advanced programming, and to learn about the different ways and levels that a computer program can be run.
Regards,
Jurgen