←back to thread

284 points borski | 2 comments | | HN request time: 0s | source
Show context
warbaker ◴[] No.44688746[source]
16 years later, I'm still disappointed about this decision. The justification for it is just awful: "6.001 had been conceived to teach engineers how to take small parts that they understood entirely and use simple techniques to compose them into larger things that do what you want. But programming now isn’t so much like that, said Sussman. Nowadays you muck around with incomprehensible or nonexistent man pages for software you don’t know who wrote."

This is just false. Engineering is still about taking small parts you understand entirely and using simple techniques to compose them into larger things you want. Sussman's justification is an abject surrender to shitty complexity. Engineers need to develop a taste for simplicity and elegance, especially at the beginning of their education.

Incidentally, an overlooked advantage of teaching in Scheme is that it levels the playing field, as pre-undergrad programming classes almost never use functional languages.

replies(2): >>44688832 #>>44688889 #
1. pledess ◴[] No.44688832[source]
His top students were capable of entirely understanding Scheme within a day or so (but not capable of entirely understanding all of Python and all of PyPI). He wanted students to be even better than that. He wanted them to lead productive and resilient collaborations even when they didn't or couldn't entirely understand the small parts.
replies(1): >>44688909 #
2. zahlman ◴[] No.44688909[source]
Given a day, top students can understand enough of Python to write enough code to get the point about how programs rely on abstraction and composition.

(Of course, the latter part of the course, describing the implementation of the runtime, would need considerable rethinking.)