[plt-scheme] Request for Info

From: Gregory Woodhouse (gregory.woodhouse at sbcglobal.net)
Date: Sun Dec 17 11:49:42 EST 2006

On Dec 17, 2006, at 6:18 AM, Matthew Jadud wrote:

> Hello Bal,
>
> You will get as many answers as there are people on this list to  
> your questions! But, they are good questions, which is why you will  
> get so many answers.

So true! It is easy to find all the (sometimes differing) answers  
frustrating, but that is only an indication that the question has  
made people think. Thee is no better question than one that makes  
people think.

> ...

> I would encourage you to look at "How to Design Programs" (http:// 
> www.htdp.org/) is a textbook published by MIT Press, and freely  
> available online. Written by the same team of people who work on  
> PLT Scheme, it provides an excellent introduction to programming.  
> It happens to use DrScheme, but the methods and approaches they  
> encourage apply equally well to all programming languages.
>
> Good luck, and keep the questions coming.

I didn't learn Scheme (or programming) from HtDP. In fact, I've been  
programming for about 15 years now, but a not that long ago, a co- 
worker mentioned DrScheme to me. I downloaded it and started working  
with it, and I now don't hesitate to say Scheme is my favorite  
language. Beware! I did send away for a hard bound copy of "How to  
Design Programs" (but the full book is available on-line if you want  
to read it there), and I just took it off my shelf and started  
thumbing through it for an hour or so. In many ways, it's a  
traditional book about programming, and that's what sets it apart  
from most other books about Scheme (or functional programming in  
general). Many other books tend to have a very different style and  
purpose. back when I was starting, a housemate recommended Kent  
Dybvig's classic text/reference on Scheme, and I don't mind saying I  
found it tough going. Not to denigrate the book at all, I wouldn't  
recommend it as a first introduction to the language, and certainly  
not s a first introduction to programming.

If you do have some experience programming (and maybe even a little  
Scheme), there are a couple of other books you might want to look at.  
There is a wonderfully whimsical (and deceptively friendly) pair of  
books by Daniel Friedman and Matthias Felleisen (yep, same guy)  
called "The Little Schemer" and "The Seasoned Schemer". I love those  
books. In fact, I just finished reading "The Little Schemer" for the  
third time. Each time I read those books, I learn more than I did the  
previous time. They're just those sort of books. But be warned! One  
chapter ends

Whew! Is your brain all twisted up now?		Go eat a pretzel; don't  
forget the mustard.

(They're not kidding, either!)

The next chapter ends simply

"Stop the World -- I Want to Get Off."
Leslie Bricuse and Anthony Newly

In other words, these books are designed to strain your brain -- and  
that's a GOOD thing.

Okay, I've been fretting about this all morning (after all, I  
wouldn't want to offend our good hosts!) but there is another classic  
text on Scheme that I very much like (but I also first read the book  
after completing a Masters degree). It's called "Structure and  
Interpretation of Computer Programs" (or just SICP), and is also  
available online. But make no mistake, it's really a computer science  
textbook that just happens to teach you Scheme. I don't say this to  
dissuade you from reading either book. In fact, if you want to learn  
more about Scheme and programming in general (not just functional  
programming), I highly recommend it. But just the same, I think "How  
to Design Programs" is an excellent place to start. The book may be  
written with new students in mind, but it will teach you a lot that  
many programmers never learn. It's a great book.

>
> Cheers,
> Matt

Gregory Woodhouse
gregory.woodhouse at sbcglobal.net

"Life can only be understood going backwards, but it must be lived  
going forwards."
--Søren Kierkegaard



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20061217/ec014578/attachment.html>

Posted on the users mailing list.