From 2c01d4daeff989a556083d26b7c6e5cf7f89b472 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 5 Feb 2022 17:41:36 -0500 Subject: Prefix old post file names with dates. --- posts/2013-08-11-little-schemer.md | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 posts/2013-08-11-little-schemer.md (limited to 'posts/2013-08-11-little-schemer.md') diff --git a/posts/2013-08-11-little-schemer.md b/posts/2013-08-11-little-schemer.md new file mode 100644 index 0000000..d58c96b --- /dev/null +++ b/posts/2013-08-11-little-schemer.md @@ -0,0 +1,57 @@ +title: The Little Schemer +date: 2013-08-11 15:00:00 +tags: scheme, books, wsu +summary: I bought "The Little Schemer" +--- + +Yesterday, I took a trip to the MIT Press Bookstore and picked up a +copy of +[The Little Schemer](http://mitpress.mit.edu/books/little-schemer). I’ve +only spent a few hours reading and coding along with it, but I’ve had +a lot of fun. The following is a mini-review based on my experience +thus far. + +“The Little Schemer” teaches you to think recursively using an +interesting and comedic writing style and the Scheme programming +language. While Scheme is the language of choice, the real goal is to +teach you problem solving rather than the details of a specific +language. The book starts off simple, explaining what atoms, lists, +and S-expressions are. Rather than providing the definition and then +showing examples, it first gives examples in the form of a question +and answer. + +Example: + +> Is it true that this an atom? +> +> **atom** +> +> Yes, because **atom** is a string of characters beginning with a +> letter. + +From the examples given, a definition is created. In later examples, a +Scheme procedure is written that produces the correct answers for all +of the questions stated before it. It’s fun to build the procedure, +verify that it works for all cases, and compare your implementation +with the book’s. + +“The Little Schemer” defines ten commandments that are essential to +correctly solving the problems in the book. Some commandments are +first given in an incomplete form, and expanded later when a greater +level of understanding has been achieved. The problems that you solve +reinforce the commandments. You might notice that you start writing +procedures without thinking much about it, much like the muscle memory +earned from using Emacs a lot. Gerald J. Sussman was right when he +said that this book “can perform the same service that Hanon’s finger +exercises or Czerny’s piano studies perform for the student of the +piano.” I have no idea who Hanon and Czerny are, but I get it. For the +drummers out there, you could liken this book to +[Stick Control](http://www.amazon.com/Stick-Control-For-Snare-Drummer/dp/1892764040). + +The writing style is very informal, comedic, and food themed. Page 13 +has a space reserved for jelly stains, and page 52 tells you to “go +cons a piece of cake onto your mouth.” I have laughed a number of +times while reading. Oh, and let’s not forget about the cute elephant +drawings. This is definitely not your average boring, dry computer +science book. If you are interested in a unique and enjoyable learning +experience, then I highly recommend reading “The Little Schemer”. -- cgit v1.2.3