For those interested in the original Scheme, here's that playlist of SICP lectures by the authors. I read and worked through the second edition book, but found these videos later. They added lots of value and emphasis beyond the written material.
<a href="https://www.youtube.com/playlist?list=PLE18841CABEA24090">https://www.youtube.com/playlist?list=PLE18841CABEA24090</a>
Funny story: I took Scheme around 1995 for my first college programming class at UIUC, and nobody told me that we could split our code up into separate lines of execution. So I turned in all of my assignments for the semester as a multi-page function composed of higher-order methods executed in one shot. My teacher must have stared at some of them dumfounded, because they all worked. Although remembering back, I don't think I was the only student doing that!<p>In the end, it helped me see that all programming is basically a spreadsheet and analogous to the STDIN/STDOUT stream processing of Unix executables. All of the stuff we think of as programming, like objects and classes, is basically hand waving to make problems/solutions supposedly fit in the human mind.
I couldn't make head or tails of that link but the textbook his here:
<a href="https://inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html" rel="nofollow noreferrer">https://inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html</a><p>Looks awesome but I still wish there was a completed clojure version.
SICP is one of my favorite books on programming. Along with GEB and Levy's Hackers.<p>When I want to give a young person a headstart "sneak preview" taster into "our" culture -- or what I think our culture <i>should</i> be, on the intellectual plane, as an ideal, then I'm confident that these in particular can be stimulating little gems.<p>OK, fine fine: also HHGG as the 4th of my top 3. The first book (in its series) especially but the entire 5+ books of its increasingly misnamed trilogy.<p>And... Neuromancer. And Snow Crash. And Cryptonomicon. And...
Cool! I was in the process of reading the JavaScript version. Converting the book to various languages will help spread the concepts in this book to a larger audience.
Just in case: use an editor with support for Scheme.<p>If you want something easy to install, try DrRacket.<p>- tab indents the current line<p>- cmd-I (or ctrl-I) will indent the entire buffer<p>- Press ] to insert a matching closer (an parenthesis, bracket or brace)<p>When you need it, install the `sicp` package to get the Henderson picture language (and more) used in the book.
Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for the book. But no matter how perfectly suited for the task it is, I won't squint at lines ending in ))))) to try to see that meaning.