SICP
When I was in high school, I watched a few introductory lectures from MIT given by Gerald Sussman and Harold Abelson. At the time, the extent of my computer science knowledge was limited to an introductory Java class, and some basic exploration in simple data structures such as linked lists. I thought that object-oriented programming was the pinnacle of software engineering, and Java and C were the most practical languages.
And yet in the span of a few hours, Sussman and Abelson opened my mind to
possibilities I had never even imagined before. Beginning with
a unique language - Scheme - that was so simple I understood
the basics in a single lecture, and yet spun my head with it’s
complexities. I felt like someone had shown me the rules to chess, and
although I understood them, I was getting my butt kicked by people who
were somehow able to make much greater usage of their pieces. Yet what
I was most impressed with was how they took a subject and showed me how
elegant and beautiful it could be. I was floored by how data structures
(cons
) could be constructed from nothing but procedures - existential
nothingness as Sussman called it. How ugly the brutalist architecture of
those well respected tools C and Java seemed compared to the elegance and
grace of the Scheme cathedral.
Looking back, I think that these few opening lectures were a real pivotal moment in my life. I had only managed to get through the first few lectures - and even less through the book - and so during the Recurse Center I thought it would be great to be able to actually try to do the whole thing.
There is a great quote at the beginning of the book that states that “it is extraordinarily important that we in computer science keep fun in computing.” Although sometimes when I try to explain what I’m doing at Recurse, it seems a little useless (oh I’m just reading through this book it’s really great!), I think that while that might be true, I am having a lot of fun. And in the end, I think it’s important to stay true to that love of programming; to pay respects to that whimsical spirit which lives inside the computer; the spirit which has been there for us from the beginning, to play games with and enjoy.