[Lowerbounds, Upperbounds]

Algorithms are everywhere.

I find this recent book (sort of available online) by Mark Jason Dominus to be very CS-friendly. The reason: Closures!

The Perl Review: Why did you write Higher Order Perl?

Mark Jason Dominus: [...] But I had a few hidden agenda items as well. The book is about how to use closures, and I think there are too many languages around that have no easy way to use closures. Java, in particular, seems to me to be a giant step back towards the languages of the 1970s.

Two interesting tidbits from the book are:

  • The term memoization was coined in 1968 by Donald Michie.
  • Data marshalling is so named because it was first studied in 1962 by Edward Waite Marshall, then with the General Electric corporation.

In a previous job, I have done a lot of programming that involves data marshalling, now the term finally makes sense!

One Comment

  1. A PL friend of mine noted that Michie didn’t exactly use the term “memoization”. He used the terms “rote” and “memo functions” (if I remember our conversation exactly).