summaryrefslogtreecommitdiff
path: root/posts/2013-08-11-the-little-schemer.skr
diff options
context:
space:
mode:
Diffstat (limited to 'posts/2013-08-11-the-little-schemer.skr')
-rw-r--r--posts/2013-08-11-the-little-schemer.skr58
1 files changed, 58 insertions, 0 deletions
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”.]))