Lecture 1B | MIT 6.001 Structure and Interpretation, 1986
Why Hacker News recommends it
HN commenters hold it up as an unmatched introduction to programming and quote Sussman's line that knowing a spirit's name gives you power over it.
What it is
Lecture 1B of MIT's 6.001 Structure and Interpretation of Computer Programs (1986) with Gerald Sussman, covering procedures, processes and the substitution model. It includes the line about the power of naming things.
Recommended by 1 HN commenters across 1 different months, 2015 to 2017.
What Hacker News said
Strong rec gingerbread-man · 2017-03 · on “Ask HN: What would you teach adults new to programming in a 2 hour class?”
I don't think it's possible to do any better than this: [this video] Admittedly, when I found my way to Sussman's course, I had already been programming for awhile, so the "magic" was less of Wow, I can write a computer program that does neat stuff! and more Wow, this makes everything I've been doing so much more clear and simple!
Cites cgag · 2015-03 · on “Why Racket? Why Lisp? (2014)”
I don't know about "possible to express", but having learned Haskell, I see monoids everywhere. In the SICP lectures, when Sussman teaches the class the word "predicate", he mentions that knowing the names of these things is important because "As any sorcerer will tell you, if you know the name of a spirit, you have power over it".[1] If you only know C, you're unlikely to think in terms of map/filter/reduce. If you don't know Haskell, you're unlikely to think in terms of functors and monads. You may be vaguely aware of repeated patterns, but knowing you're looking at a monad gives you a lot more power to reason about it. [1] [this video]
Cites espeed · 2017-02 · on “HyperNormalisation (2016) [video]”
"As any sorcerer will tell you, if you know the name of a spirit, you have power over it" -- Gerry Sussman, SICP * [this video] Many/most of the general population seem to think "propaganda" only happens to other people, somewhere else, under a dictatorship, in Russia or North Korea for example. In contrast, many/most think the TV/media outlets they watch/consume (and most closely identify with) are the real news -- the true/fair/balanced/accurate news -- while the "other news" channels are "extreme" (MSNBC vs FOX NEWS) or "fake" (now ascribed to CNN). It's supposed to be illegal for the USG to use propaganda against its own citizens. Curiously the "Lobbying Restriction" in the US tax code for IR
Cites clusmore · 2017-03 · on “Thinking About Recursion”
Gerald Sussman covers the Tower of Hanoi problem in the SICP lectures [1]. The thing I find fascinating about this solution is that it doesn't even require the rule that you can't place larger discs on smaller discs - it simply is never optimal to do so anyway. And the solution is so simple, I wonder if you could invent a game by first coming up with a solution and then seeing what it actually solves. [1] [this video]
Cites cgag · 2017-03 · on “Acing the technical interview”
"“To know a thing is to name it,” you advise. True names have power. The K language was invented by Ursula K. Le Guin, and is among the oldest and tersest forms of magic." Beautiful. I think the first time I learned the value of knowing the true names of things was here: [this video] before I studied it in depth reading Rothfuss.