<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On Dec 17, 2006, at 6:18 AM, Matthew Jadud wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">Hello Bal,</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><BR></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">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.</FONT></P></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV><DIV>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.</DIV><BR><BLOCKQUOTE type="cite"> <P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px">...<BR></P></BLOCKQUOTE><BR><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">I would encourage you to look at "How to Design Programs" (<A href="http://www.htdp.org">http://www.htdp.org</A>/) 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.</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><BR></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">Good luck, and keep the questions coming.</FONT></P></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV><DIV>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.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>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</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Whew! Is your brain all twisted up now?<SPAN class="Apple-tab-span" style="white-space:pre">                </SPAN>Go eat a pretzel; don't forget the mustard.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>(They're not kidding, either!)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The next chapter ends simply</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>"Stop the World -- I Want to Get Off."</DIV>Leslie Bricuse and Anthony Newly</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>In other words, these books are designed to strain your brain -- and that's a GOOD thing.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-style-span">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.</SPAN></DIV><DIV><BR><BLOCKQUOTE type="cite"> <P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><BR></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">Cheers,</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">Matt</FONT></P> </BLOCKQUOTE></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>Gregory Woodhouse</DIV><DIV><A href="mailto:gregory.woodhouse@sbcglobal.net">gregory.woodhouse@sbcglobal.net</A></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>"Life can only be understood going backwards, but it must be lived going forwards."</DIV><DIV>--Søren Kierkegaard</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></BODY></HTML>