Sunday, December 4

Mini-Reviews of Books Read, November 2011

   Mini-reviews of books I read last month: a novel, a collection of short
   stories, and a book about programming languages.  All are recommended,
   although the last one is only for programmers.


   1. "One of Our Thursdays Is Missing" by Jasper Fforde
     <http://www.amazon.com/One-Our-Thursdays-Missing/dp/0670022527>

   This is the sixth instalment in the popular and humorous Thursday Next
   series.  It starts just after BookWorld has been reconstructed from its
   former library-like structure containing all the books written or being
   written into a collection of islands and regions divided by genre.  In
   this reconstructed BookWorld we find a Thursday Next, not the "real"
   Thursday (literary detective and heroine of the Thursday Next series),
   but rather the fictional Thursday who portrays her in BookWorld.  It
   seems that the RealWorld Thursday has gone missing while working on a
   case, and her BookWorld version is drafted as a substitute in some
   delicate negotiations to prevent an inter-genre war.  In the process
   she gains the services of a mechanical sidekick/butler (Sprockett),
   deals with a rebellion on the "set" of the Next books, and starts to
   question whether or not she may be the "real" Thursday after all.

   The novel keeps up the humour, imagination and use of clever literary
   references and allusions we've come to expect.  The transformation of
   BookWorld to a geographical-based setting helps freshen things up,
   offering a new, richer setting for the action.  The Nextian universe
   continues to be full of interesting elements and characters that are
   reminiscent of Douglas Adams' work, in particular the Hitchhiker's
   Guide to the Galaxy and Dirk Gently Holistic Detective series.

   A reasonable background in general literature will help you appreciate
   all that happens in this worthy addition to the series.  If you're
   unfamiliar with the series, it might be best to start with the first
   instalment, "The Eyre Affair".


   2. "Three Tales from the Arabian Nights" translated by Malcolm C. Lyons
      and Ursula Lyons
     <http://www.amazon.com/Three-Arabian-Nights/dp/1846141583>

   This is a taster for the recently retranslated three-volume set of the
   One Thousand and One Nights.  It begins with the introduction or "frame
   tale" where we learn how Scheherazade cleverly avoids her execution by
   telling King Shahryar stories every night.  Then one tale from each of
   the three volumes is presented.

   The first tale is the widely known "Ali Baba and the Forty Thieves".
   Ali Baba is a simple woodcutter, betrayed by his brother, Cassim,
   following the death of their father.  While working in the woods, he
   overhears a band of thieves entering their secret cave which is unsealed
   with the words "Open Sesame".  He waits for them to leave, enters the
   cave and finds a vast collection of treasure.  He discreetly takes a
   small amount of treasure and returns home.  Eventually his brother
   finds out about the cave, and Cassim's greed and clumsiness lead to
   his capture.  As a warning to other intruders, the thieves leave his
   quartered body inside the cave.  The story doesn't end there, because
   Ali Baba retrieves his brother's body, so the thieves know that someone
   else knows about the cave.  There are more twists and turns to the story
   as the thieves try to find Ali Baba.

   The second tale, "Judar and His Brothers", tells of a man who is
   mistreated by his two older brothers (also after the death of their
   father).  He works as a humble fisherman and looks after his mother.
   He even takes in his brothers despite having litigated away their
   collective inheritance.  Fate intervenes and Judar comes into some
   good fortune after meeting some strangers and going on a magical
   journey.

   The third tale, "Ma'rus the cobbler", about a man mistreated by his wife
   who eventually marries the daughter of a faraway king, follows in the
   same vein of fast-moving tales with supernatural beings (e.g. djinns or
   genies) and dramatic reversals of fortunes.

   I enjoyed reading the translations of these three tales, and might read
   more in the future.


   3. "Seven Languages in Seven Weeks" by Bruce A. Tate
     <http://www.amazon.com/Seven-Languages/dp/193435659X>

   Subtitled "A Pragmatic Guide to Learning Programming Languages", this
   book attempts to give the programmer-reader an introduction to seven
   different computer languages.  The languages featured are: Ruby, Scala,
   Io, Prolog, Clojure, Erlang and Haskell.  Its purpose is to open the
   reader's eyes and minds to new ways of envisioning and solving problems
   using languages that are generally outside the (current) mainstream.
   From that point of view, I think it succeeds quite well.  However,
   trying to include so many different languages and styles in a single
   book limits the depth to which each language can be explored.

   The Ruby chapter was pretty straightforward since it's my main language
   now.  The rest of the languages were much more challenging, and I did
   learn more about each of them.  Each chapter is broken up into an
   introduction, three "days" of tutorials with some homework problems to
   try, then a wrap-up of the pros and cons for the language.  Throughout,
   mini interviews help explain the motivations behind the languages and
   the types of problems they aim to solve.  It's argued that to remain
   fresh and current, programmers should try to learn at least one new
   language every year.  I endorse this idea, and this book can help
   programmers who have been "one language" coders for many years choose
   where next to dip their toes.  A worthwhile read for any (possibly
   jaded) programmers wanting to try something new.

   PS: One of my ongoing interests has been comparing and contrasting
   different programming (and human) languages, so I was naturally drawn
   to this book.  Early this year I finally put together a little project
   I'd been working on for a while that compares how various programming
   languages can be used to tackle a small-scale problem, "The Palindrome
   Project":
     <http://homepage.mac.com/bruno_andrighetto/Coding/PalindromeProject.html>