Fork me on GitHub

@giga: I have mixed feelings about the change in curriculum at MIT.


I am currently doing contract work at MIT, and we do everything in Python or C, with a few hold-outs doing Matlab, Mathematica, and IDL. Python has nice scientific computing libraries, unit test frameworks, C bindings, best practices in the form of PEP8, libraries and software delivery solutions.


By the same token, I've interacted rather extensively with gschem, an open source schematic capture program written by an MIT alumn back in 2000. He chose his scripting language to be guile, the official GNU RSR5 scheme.


The author cut his teeth on programming with SICP, but I'm sad to say he really didn't learn how to program idiomatic scheme. Pretty much all of his code attempts to do tail recursion, and his mastery of understanding if a form was really in the tail position was tenuous at best.


A lot of the code in the gschem library could easily be rewritten with map and reduce and be 1/10th the size (and easier to read).


On the other hand, they use clojurescript quite profitably over at the Broad Institute (the center for Biological Research at MIT)


In addition, as a functional programmer myself I have been called upon to write programming languages for my work, which SICP certainly gives you a valuable introduction to.