From 9934cc80b087ce9b71a87baaa77068fbd23445ce Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 27 Mar 2016 11:59:14 -0400 Subject: First commit! The wonderful beginnings of a new blog powered by Haunt! --- posts/2013-08-11-the-little-schemer.skr | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 posts/2013-08-11-the-little-schemer.skr (limited to 'posts/2013-08-11-the-little-schemer.skr') diff --git a/posts/2013-08-11-the-little-schemer.skr b/posts/2013-08-11-the-little-schemer.skr new file mode 100644 index 0000000..d4e4211 --- /dev/null +++ b/posts/2013-08-11-the-little-schemer.skr @@ -0,0 +1,58 @@ +(post + :title "The Little Schemer" + :date (make-date* 2013 08 11) + :tags '("scheme" "books" "wsu") + :summary "I bought “The Little Schemer”" + + (p [Yesterday, I took a trip to the MIT Press Bookstore and picked up +a copy of +,(anchor [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.]) + + (p [“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.]) + + (p [Example:]) + + (blockquote + (p [Is it true that this an atom?]) + (p (strong [atom])) + (p [Yes, because ,(strong [atom]) is a string of characters +beginning with a letter.])) + + (p [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.]) + + (p [“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 +,(anchor [Stick Control] + "http://www.amazon.com/Stick-Control-For-Snare-Drummer/dp/1892764040").]) + + (p [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