Alex Rivera | Logout

Which language would you use for the self-study of SICP?

Asked 2008-10-27T03:41:28.303
34

I've caught the bug to learn functional programming for real. So my next self-study project is to work through the Structure and Interpretation of Computer Programs. Unfortunately, I've never learned Lisp, as I was not a CS major in college.

While SICP does not emphasize the tools for programming, doing the exercises entails picking a Lisp-like language to use. It seems like some implementation of Scheme would be the path of least resistance. On the other hand, I hear of others who have used Common Lisp and Clojure. It seems to me that Common Lisp or Clojure would be more likely to be used in production code, and therefore slightly better for my resume. BTW, I fully get the argument that learning a language is worthwhile for its own sake, but learning a language that helps my resume is still a benefit. I'm a capitalist and an academic about my learning.

If you had to self-study SICP, which language would you pick and why? Ideally, I would like to use a language that can run on the JVM. I can certainly work with a language where REPL works with bash and emacs.

ADDITION: have any of you tried reading SICP without using Scheme? If so, what was your experience like?

Edit
Report

3 Answers

4

I agree that you should just use Scheme. However, if you really have the itch to use Common Lisp or Clojure, I'd pick the latter. Scheme and Clojure are both Lisp-1s, so the code in the book will be more congruent between the two (except for tail calls, but if you understand how to compensate you'll be fine). Common Lisp is a Lisp-2 and will probably obscure the beauty of what SICP is trying to teach you.

answered 2008-10-27T12:07:21.230
3

I think Clojure fits what you want to do just perfectly. It's much more functional than Scheme because the data structures are immutable and it can be very useful as it runs on the JVM. But, be aware that you'll end up learning Scheme anyway to be able to understand the code in the book.

answered 2008-10-27T06:42:33.787
2

I have used scheme for my self-study. The best way to learn from SICP is to do all the exercises relegiously.

I have used Gnu guile for scheme.

answered 2009-05-08T08:43:31.230

Your Answer