« Back to projects

Exercises from Seven Languages In Seven Weeks

Languages: Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell
Summary: Working through the exercises from Seven Languages In Seven Weeks.
Source code: github [.tar.gz / .zip]

Details

As I work through the exercises in the book Seven Languages in Seven Weeks by Bruce Tate, I will keep this page updated with my progress. Each day will be represented by a separate blog post.

Why am I doing this? Many reasons! I want to widen my horizons, to generalize before I specialize. I want to learn how to learn and practice getting good at it. I want to separate the essence of programming from the notation. I want to live with the masters and learn from them. Also, it’s a ton of fun!

Week 1: Ruby

Impressions from Day 1 post:

Out of the seven languages in this book, Ruby is the one I was most familiar with previously. It made for an easy start, and gave me a bit of momentum before I started to tackle languages like Prolog.

Week 2: Io

Impressions from Day 1 post:

Syntactically, Io is a very very lightweight language, evocative of lisps in its regularity and minimalism. It provides a nice contrast with the previous chapter on Ruby. Ruby’s definition of simple code is something like “The more an expression reads like a (succinct) explanation of its intent, the better” whereas Io’s definition of simple code is something like “The less extraneous syntax that is needed to represent an expression, the better”.

Week 3: Prolog

Impressions from Day 1 post:

Despite all this, during the course of Week 3 I have been convinced that logic programming can be extremely powerful. If you know how to define a problem in terms that Prolog understands, then you can write a program that solves a problem without having the slightest idea of how to actually solve it (a good example is Sudoku, which shows up in Day 3). Logic languages are the closest I have seen to the unattainable ideal of ‘writing a program that will look at the problem and write a program to solve it for you’.

Week 4: Scala

Impressions from Day 1 post:

The beauty of Scala (in my eyes) is its flexibility and practicality. It pushes you towards immutability and is capable of very succinct functional code, but it also has that mutable imperative escape hatch, and a good set of tools for working with problems that suit code like that. It will let you write in the style that is most appropriate for the problem you are trying to solve.

Content by Nick Knowlson: Google+
rsstwitter