4 ms·
I took 6.001 in 1999 (I think). Hal Abelson taught it along with a professor who took off his sweatshirt to reveal a Microsoft tee at his final lecture (he went
by unabst 10y ago
I took 6.001 in 1999 (I think). Hal Abelson taught it along with a professor who took off his sweatshirt to reveal a Microsoft tee at his final lecture (he went to Microsoft).
What was great about Scheme (Lisp) is that most programs are basically words from your vocabulary, parentheses, and cars and cdrs. With procedural languages, there is always a sense that the language provides all the tools, and the magic happens somewhere underneath the hood. But with Scheme it feels as if it's happening right before you. It makes you feel like a wizard, and not a monkey. And it requires knowing all the spells. It requires knowing how to make magic happen. Or not. Once you know none of it's magic. But that's the point!
Python is arguably easier and more practical for both science and work. It's already popular on the web server, and is used everywhere else -- unlike Scheme.
But the recent resurgence of functional programming is super exciting with Elixir and Elm and the like.
I'm looking forward to building my next project using Elixir.
Here is the classic course:
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/ https://ocw.mit.edu/courses/electrical-engineering-and-compu...
Original video lecture on YouTube (linked from above):
https://www.youtube.com/watch?v=2Op3QLzMgSY https://www.youtube.com/watch?v=2Op3QLzMgSY
- taeric 10y agoMy favorite thing having finally taken a dive into lisp and SICP, is not that it is very friendly to functional. It is that it is very friendly to showing how it all works. My favorite section is where they go over making a constraint based system that will either calculate degrees F or degrees C. Or validate that the two given values are accurate. All depending on what you have entered. And this is done from the ground up. No hidden magic of the system has to support you, by and large. (Not strictly true, as this does make use of GC and such throughout.) If you hadn't seen it, https://www.infoq.com/presentations/We-Really-Dont-Know-How-To-Compute https://www.infoq.com/presentations/We-Really-Dont-Know-How-... is a great video showing Sussman's style. He also showcases a program they wrote that could solve circuits based on this general idea.
- mrcsparker 10y agoThank you so much for linking this video. I had no idea it existed. Watching that lecture was so much fun. I wish that there was a camera pointing to the crowd when he said the more controversial things. I didn't know that Sussman hired Stallman. Their work changed our lives.
- gavinpc 10y agoThis is excerpted (as the "technology" segment) of another great video, Bret Victor's "Humane Representation of Thought." (at about thirty minutes in) https://vimeo.com/115154289 https://vimeo.com/115154289
- kough 10y agoAlso, the current grad-level class in the same area (taught by Sussman) is online here: http://groups.csail.mit.edu/mac/users/gjs/6.945/ http://groups.csail.mit.edu/mac/users/gjs/6.945/ By far the most rewarding class I've taken at MIT. Check out the psets, they're pretty fun.
- brians 10y agoMiller? He advocated turning off Athena in the 90s, because NT had obviously won. Linux must have been a Hell of a surprise.