I’ve recently started working through SICP in my spare time. I once read a complaint that it’s very obviously geared towards engineers, and I agree. I haven’t even gotten through the first chapter, and I’m seeing math I haven’t seen since calculus 2. So far it’s been very much geared towards numerical methods for solving equations. Case in point: when I finish this post I’m going to work on a problem where I have to write a higher order function that uses Simpson’s rule to approximate an integral.
I have to say I’m really enjoying Scheme so far. I’ve done most of my previous programming in C, with a little C++ and Python sprinkled in. Declarative/functional programming is new to me, but I’m really enjoying it so far. I think I’ll be one of those militant Lisp types by the end of it.
The question is what do I do after I finish? I’ve got a few other languages I’d like to learn after this. Common Lisp, Erlang, FORTH, and Ada are on the short list. If I were smart I’d probably actually learn C++, but my experiences with it have been less than pleasant. The OOP paradigm in general has always been a bit hard for me to wrap my head around. I’m hoping that if I learn Ada, it will get me able to think in OO terms, and then I can knuckle down and learn C++.
We’ll see what happens.
Tags for this post:SICP Programming Computation Books Lisp Scheme Functional Programming