Sussman Lecture 5B: Computational Objects
In Lecture 5B (from the 1986 MIT 6.001/SICP series), Sussman argues that assignment (state mutation) is not a necessary evil - it is the essential mechanism that allows programs to model the real world's fundamental notion of object identity and time.
Here are the core points he makes regarding Objects, Assignment, and the Real World:
- Functional/Substitution Model (Lecture 3A/4A):
x = 3thenx = 4is a contradiction. A name refers to a value. There is no time, only substitution. - Real World: You are the "same person" you were 10 years ago, even though almost every atom in your body has changed (state mutation). Your identity persists through state change.
- Sussman's Point: To model this computationally, we need a mechanism where
set!changes the contents of a structure without chang