Sunday, December 4, 2011

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

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

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

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

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