3 ms·
I agree with everything you say. Just want to add that SICP had a context: it was designed to be an introductory computer science course designed for universit
by kkylin 8y ago
I agree with everything you say. Just want to add that SICP had a context: it was designed to be an introductory computer science course designed for university engineering students (including CS), almost all of whom take calulus in their first year, if not earlier. This was probably a valid assumption back in the day, but clearly there is a more diverse audience now.
Anyway, I absolutely agree SICP was never about Scheme per se, or even functional programming. Scheme is nice as a teaching tool because, as Sussman likes to say, you can teach everything you need students to know about the language in one lecture. (Not even all of Scheme, mind you, just what you'd use in a 1-semester course, which back when I took 6.001 meant R4RS minus macros and continuations.) There's certainly always been pressure to use more "practical" languages. But back in those days, there weren't the options there are now. Any derivative of C, especially C++, would end up being as much about the language as about programming concepts, if not more.
I think the thing about SICP is that while it makes some minimum demands about mathematical background, it makes a lot of demands about intellectual maturity. It took me years to appreciate many of the points it makes -- as I got more experience, different parts of the book start to resonate. On the other hand it's stayed relevant all these years, at least for me personally.
- ahuth 8y agoWell said. I'm reading the book now (and watching the lectures), and can't imagine trying to go through it as an undergrad.
- emmelaich 8y agoIndeed, the context reflects the origins of CS departments. They are always were part of physics school and later electrical engineering. All the famous CS people over say 60 started in physics or EE.
- dan-robertson 8y agoThis might be true in America but in Europe it is common for the CS department to have been an offshoot of the mathematics department.
- kkylin 8y agoIn the US you find both. More commonly CS came from electrical engineering, but you do find some departments that started as part of mathematics. In any case, as other commenters said, early "computer scientists" often came from physics, math, electrical engineering, etc. (Abelson & Sussman themselves had PhDs in mathematics.)
- kwhitefoot 8y ago> almost all of whom take calulus in their first year, What? How can anyone do any meaningful engineering without calculus?