Live data from Hacker News

Programming by poking: why MIT stopped teaching SICP

posteriorscience.net

1–10 of 245 posts

Re: Programming by poking: why MIT stopped teaching SICP

#3
post #2

All that said, it is still worthwhile to work through all of SICP, if you want a deeper understanding of how certain tools work. Writing your own interpreter is a very rewarding experience.

I think going through SICP and most of all, writing my own interpreter, made me an all around better programmer. I noticed my systems thinking clarified considerably. Not in an aloof way but by providing actual actionable insights on how to implement and structure things.

Re: Programming by poking: why MIT stopped teaching SICP

#4
post #2

All that said, it is still worthwhile to work through all of SICP, if you want a deeper understanding of how certain tools work. Writing your own interpreter is a very rewarding experience.

Having to write my own shell in C for my operating systems class absolutely blew my mind. And then after that my professor made us implement a quine in the shell we just wrote. Yes, he was insane.

Re: Programming by poking: why MIT stopped teaching SICP

#9
I'm surprised and a bit dismayed to read Sussman's reasoning:

"...Sussman said that in the 80s and 90s, engineers built complex systems by combining simple and well-understood parts. The goal of SICP was to provide the abstraction language for reasoning about such systems.

Today, this is no longer the case. Sussman pointed out that engineers now routinely write code for complicated hardware that they don’t fully understand (and often can’t understand because of trade secrecy.) The same is true at the software level, since programming environments consist of gigantic libraries with enormous functionality. According to Sussman, his students spend most of their time reading manuals for these libraries to figure out how to stitch them together to get a job done. He said that programming today is 'More like science. You grab this piece of library and you poke at it. You write programs that poke it and see what it does. And you say, ‘Can I tweak it to do the thing I want?''. ... "

Surely graduates of MIT, of all places, would be the ones building the libraries that ordinary programmers are stitching together and would still need the ability to build complex systems from fundamental CS abstractions? I'm absolutely baffled.

Re: Programming by poking: why MIT stopped teaching SICP

#10
post #2

All that said, it is still worthwhile to work through all of SICP, if you want a deeper understanding of how certain tools work. Writing your own interpreter is a very rewarding experience.

Having to write my own shell in C for my operating systems class absolutely blew my mind. And then after that my professor made us implement a quine in the shell we just wrote. Yes, he was insane.

Genuinely curious: what are some of the interesting things in writing your own shell? Was it the programming language interpretation aspect, or having to learn the kernel's API for forking tasks and redirecting, etc.?
Post reply on HN