William Byrd
Traditional mathematical notation obscures conceptual errors behind symbolic manipulation, making functional computer code the only rigorous medium for formulating and teaching scientific ideas.
AI-assisted summary of Gerald Jay Sussman: The Role of Programming (Dan Friedman's 60th Birthday) — original source. Check the original for full context.
Source published:
Key ideas
- Gerald Jay Sussman argues that programming is fundamentally an intellectual tool for human-to-human communication and knowledge representation, rather than merely an instruction set for computers. (0:01)
- Traditional mathematical notation fundamentally hinders student understanding by relying on impressionistic conventions, ambiguous partial derivatives, and flawed derivations that yield correct results through mathematically unsound steps. (4:54)
- Reformulating classical mechanics into Scheme functional code eliminates symbolic sleight of hand by strictly separating coordinate evaluation from positional partial derivatives, turning physical laws into well-typed function compositions. (15:13)
- Engineering intuition—such as the rapid local constraint propagation used to analyze transistor circuits—can be systematically captured, formalized, and taught as concise executable programs. (21:54)
Detailed notes
## Background This talk was published on YouTube by William Byrd on December 2, 2014. The video captures Gerald Jay Sussman delivering his presentation, "The Role of Programming in the Formulation of Ideas," recorded at Indiana University on December 4, 2004, in celebration of Dan Friedman's 60th birthday.
## TL;DR Gerald Jay Sussman argues that computer programming is primarily a medium for human communication and intellectual formulation rather than just machine instruction. Drawing on his work in celestial mechanics and his textbook Structure and Interpretation of Classical Mechanics, Sussman critiques standard mathematical notation for masking conceptual gaps with ambiguous symbol manipulation. He demonstrates how functional programming in Scheme provides absolute precision for physics derivations and how local constraint propagation can formalize intuitive circuit analysis. Ultimately, Sussman champions programming as an exploratory tool that forces conceptual clarity without getting bogged down in unnecessary mathematical rigor.
## Atmosphere & style The presentation carries an energetic, witty, and irreverent tone as Sussman playfully dismantles canonical mathematical conventions and academic textbooks. Transitioning seamlessly from blackboard derivations to retro 1970s circuit diagrams, he speaks with the unfiltered candor of an experienced mentor sharing insider epiphanies. The room feels intimate and intellectually vibrant, punctuated by knowing laughter from an audience of computer scientists enjoying his sharp critiques of traditional physics pedagogy.
## Bulletin - [00:01](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1s) Gerald Jay Sussman argues that programming is fundamentally an intellectual tool for human-to-human communication and knowledge representation, rather than merely an instruction set for computers. - [04:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=294s) Traditional mathematical notation fundamentally hinders student understanding by relying on impressionistic conventions, ambiguous partial derivatives, and flawed derivations that yield correct results through mathematically unsound steps. - [15:13](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=913s) Reformulating classical mechanics into Scheme functional code eliminates symbolic sleight of hand by strictly separating coordinate evaluation from positional partial derivatives, turning physical laws into well-typed function compositions. - [21:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1314s) Engineering intuition—such as the rapid local constraint propagation used to analyze transistor circuits—can be systematically captured, formalized, and taught as concise executable programs.
## Key takeaways - [00:01](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1s) Programming serves primarily from an AI perspective as a medium for representing and communicating procedural knowledge clearly between human beings. - [01:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=114s) Dedicated special-purpose simulation hardware built by Sussman and Caltech collaborators proved that the solar system's planetary orbits are chaotic, eventually earning a spot in the Smithsonian Institution. - [03:06](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=186s) Sussman and Jack Wisdom authored 'Structure and Interpretation of Classical Mechanics' (SICM) out of frustration with standard physics texts that dismiss student questions on foundational principles like least action. - [04:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=294s) Historical mathematical notation evolved like impressionistic natural language, leading to contradictory conventions such as confusing exponents with inverse functions. - [06:41](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=401s) Standard derivations of the Euler-Lagrange equations rely on an intellectual contradiction, treating position and velocity as independent variables during partial differentiation but causally related during time differentiation. - [10:22](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=622s) Conventional physics pedagogy trains students in empty symbolic manipulation, allowing them to earn top grades without conceptually understanding the underlying physical phenomena. - [12:25](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=745s) Lagrangian mechanics tests candidate paths against equations of motion, but traditional notation conceals the functional architecture and commits fundamental type errors. - [15:13](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=913s) Zero-based positional partial derivatives cleanly decouple functional differentiation from specific path coordinate evaluations, mapping classical mechanics directly into Scheme with structural fidelity. - [15:13](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=913s) Physicists' receptivity to computational mechanics is split by career stage: young researchers and retired seniors are enthusiastic, while mid-career researchers avoid it due to career pressures. - [20:07](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1207s) Experienced electrical engineers rapidly solve coupled nonlinear circuit equations by applying local constraint propagation across schematics rather than solving simultaneous differential equations. - [21:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1314s) The circuit diagram functions as an engineer's external memory, constraining annotations to a finite visual space and enabling modular reasoning. - [21:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1314s) Sussman and Richard Stallman captured tacit engineering intuition into a compact, five-page program implementing local deduction rules for circuit analysis. - [23:03](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1383s) Programming forces thought to be formal and precise without demanding full mathematical rigor, exposing hidden assumptions because computers refuse to evaluate ill-defined concepts. - [23:03](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1383s) Marvin Minsky and Seymour Papert pioneered the view that programming is an ideal constructive medium for exploring, debugging, and formulating poorly understood ideas.
## Detailed walkthrough ### [00:01](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1s) Programming as an Intellectual Tool for Knowledge Representation
Gerald Jay Sussman opens with an explicit clarification about his identity: he is not a computer language designer and has never intended to be one. While most speakers at the gathering focus on designing languages, Sussman identifies simply as a user. His primary concern stems from the artificial intelligence perspective: how to represent knowledge effectively so that ideas can be formulated, shared, and understood.
```mermaid flowchart LR accTitle: Knowledge Exchange Through Programs accDescr: Sussman's view of code as a human-to-human communication medium rather than just instructions for a machine. subgraph MindA["Author's Understanding"] A["Formulated Idea"] end subgraph Code["Executable Artifact"] B["Readable Program"] end subgraph MindB["Reader's Understanding"] C["Acquired Insight"] end A -->|"precisely expressed in"| B B -->|"studied and learned by"| C ```
For Sussman, programming is not just a way to instruct a machine, but a medium of human-to-human communication. As he explains: “It's important to me that I can give you a program to read and you can learn something from it that I've figured out and if you give me a program to read I can read it and I'll learn something from what you figured out.” This motivation led to *Structure and Interpretation of Computer Programs* (referred to by Sussman as “this weird book”), an effort to introduce these principles to MIT freshmen. While mathematical knowledge has long been formalized, procedural knowledge had historically lacked rigorous formal expression. Modern computer languages finally provide the precision required to state complex ideas that previously could not be expressed cleanly.
- Sussman emphasizes the AI perspective on knowledge representation: expressing what one knows with extreme precision. - Computer programs allow complex procedural ideas to be communicated without the ambiguity common in traditional formats.
[01:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=114s) Physics, Chaos, and the Smithsonian Machine
Sussman pivots to a passion many in the audience may not associate with him: physics, specifically celestial mechanics. In 1983, together with collaborators at Caltech, he built a special-purpose computer to perform high-speed orbital mechanics simulations. He displays a photograph of the machine sitting outside on the grass at Caltech.
This dedicated hardware produced groundbreaking results. It enabled Sussman and his collaborators to demonstrate that the solar system's planetary orbits are chaotic. The achievement was published in *Science* magazine, received editorial acclaim, and ultimately led to the physical hardware being retired into the permanent collection of the Smithsonian Institution in Washington, D.C. These accomplishments reinforced Sussman's drive to use computational models to teach and explain advanced physical principles.
[03:06](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=186s) The Motivations Behind SICM and Arnold's Footnote
Driven by a desire to communicate these insights, Sussman co-authored *Structure and Interpretation of Classical Mechanics* (SICM) with Jack Wisdom. He jokes that while he would have loved to have authored Isaac Newton's *Philosophiae Naturalis Principia Mathematica*, he cannot even read it because it is written in Latin. SICM provides a Scheme programmer's perspective on advanced mechanics, tracing a trajectory from Lagrange's equations through canonical perturbation theory.
The primary catalyst for the book was Sussman's undergraduate frustration with standard physics textbooks. He points out Vladimir Arnold's *Mathematical Methods of Classical Mechanics*, calling Arnold out directly for an unhelpful footnote on the principle of least action where the author essentially tells the reader he will not help them understand it. Sussman expresses his irritation: “So this gets me real mad because I really like students.” He contrasts Arnold's dismissive tone with Albert Einstein, who made deliberate efforts to write clearly and ensure readers understood his conceptual foundations.
[04:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=294s) Why Mathematical Notation Sucks
Sussman argues that the biggest barrier to learning physics is standard mathematical notation, stating bluntly: “Mathematic notation fundamentally sucks.” To illustrate how hostile and inconsistent it is to beginners, he writes out two familiar trigonometric expressions:
$$\cos^2 x = (\cos x) \cdot (\cos x)$$
$$\cos^{-1} x \neq \frac{1}{\cos x}$$
He points out how illogical this convention appears to a bright student: “Can you understand how horrible this is to a little kid in high school who's logical and smart?” Sussman explains that mathematicians are not foolish; rather, mathematical notation evolved historically as an impressionistic natural language. Natural language relies on a massive base of shared background knowledge between the speaker and the listener, requiring only small, impressionistic increments to convey a scene. Because traditional mathematical notation operates on this same principle, it is filled with ambiguities, enabling students and practitioners to obtain correct answers through technically invalid arguments.
[06:41](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=401s) The Euler-Lagrange Derivation Paradox
To demonstrate how standard notation encourages correct answers from unsound steps, Sussman walks through a textbook derivation of Newton's equations of motion from a Lagrangian on the blackboard. For a single point particle moving in a position-dependent potential field $V(x)$, the Lagrangian $L$ is written via Hamilton's principle as kinetic energy minus potential energy:
$$L(x, \dot{x}) = \frac{1}{2}m\dot{x}^2 - V(x)$$
Applying the Euler-Lagrange equation:
$$\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}}\right) - \frac{\partial L}{\partial q} = 0$$
Treating $x$ and $\dot{x}$ as independent coordinates $q$ and $\dot{q}$, the partial derivatives are evaluated:
$$\frac{\partial L}{\partial \dot{q}} = m\dot{x}$$
$$\frac{\partial L}{\partial q} = -\frac{dV}{dx}$$
Differentiating the momentum term with respect to time yields:
$$\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}}\right) = m\ddot{x}$$
Substituting these back into the Euler-Lagrange formula produces Newton's second law:
$$m\ddot{x} = -\frac{dV}{dx} = F$$
Sussman flags the underlying intellectual sleight of hand: during the partial differentiation steps, position $x$ and velocity $\dot{x}$ were treated as completely independent variables. Yet immediately afterward, time differentiation relies on the exact opposite relation—namely that $\frac{d}{dt}x = \dot{x}$. As Sussman summarizes the contradiction: “So the whole basis of the thing I just did which works to get the right answer every time is wrong.” He notes that as an undergraduate he could consistently produce the right answers on exams without having any genuine understanding of what was actually taking place.
[10:22](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=622s) Mathematical Notation and the Illusion of Understanding
Reflecting on his time as a student, Gerald Jay Sussman explains how it was entirely possible to get straight A's in advanced courses without having the slightest clue what was actually happening conceptually. He notes that this is a widespread phenomenon at institutions like MIT, where the root problem stems directly from flawed, ambiguous mathematical notation. In conventional pedagogy, students master the art of symbolic manipulation rather than conceptual comprehension. As Sussman highlights:
> “Using the traditional notation a student often learns to get the correct answer without understanding what's really happening at this stage the goal should be understanding ideas not manipulating symbols on a page okay and that's very very important and very sad and how do you do that well first of all you never can figure out anything that without programming that's true...”
Sussman calls out Vladimir Arnold's famous mechanics textbook, pointing out that even Arnold admits on the page that one must resort to awkward partial derivatives whose notation is fundamentally ambiguous. Sussman rails against classical formulations, complaining that students are still burdened with 300-year-old notation invented by Leibniz, or Newton’s equally flawed fluxion dot notation. He contrasts this with Michael Spivak’s classic text *Calculus on Manifolds*, which explicitly demonstrates why traditional notation fails. In Spivak's critique of the standard calculus chain rule, the symbol $f$ on one side of an equation represents an entirely different mathematical object than $f$ on the other side. Programmers, Sussman insists, think in terms of bound variables, free variables, and taking derivatives with respect to the index or argument position of a function, rather than confusing variable names with functional positions.
```mermaid flowchart TD accTitle: Notation vs Functional Precision accDescr: Contrasting traditional mathematical notation with functional programming principles.
subgraph Trad["Traditional Calculus Notation"] T1["300-Year-Old Notation (Leibniz / Newton)"] T2["Ambiguous Partial Derivatives"] T3["Symbol Manipulation Without Conceptual Understanding"] T1 --> T2 --> T3 end
subgraph Func["Functional Approach (Spivak / Sussman)"] F1["Zero-Based Argument Indexing (D_i)"] F2["Clear Scope: Bound & Free Variables"] F3["Functions as First-Class Values (Not Raw Expressions)"] F1 --> F2 --> F3 end
T3 -.->|"Replaced by Computation"| Func ```
---
[12:25](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=745s) Reconstructing the Lagrange Equations
Turning to physics, Sussman examines Lagrange’s equations of motion and apologizes jokingly to anyone in the audience who hates physics, adding that given the way physics is traditionally taught, “no doubt you should be hating it.” The core purpose of Lagrange's equations is to take a candidate path and test whether it is physically realizable—namely, whether it satisfies the equations of motion by minimizing the action. Yet, in traditional textbooks, the path itself never appears explicitly in the formula.
Instead, the traditional notation is merely an impressionistic shorthand that conceals the true functional architecture. A Lagrangian $L$ is a function of three arguments: time, position, and velocity. Taking the partial derivative with respect to velocity yields another function of three arguments. Only then are the path and its time derivative substituted in for the coordinates, collapsing the result into a function purely of time, which can finally be differentiated with respect to time. Comparing that quantity against the generalized forces yields zero. When an audience member asks whether the traditional form could be interpreted as a combinatoric formulation, Sussman rejects the premise outright, calling it a blatant type error:
> “No it's not right it's a type it's totally wrong yes okay and in fact there are much worse ones much more egregious ones I can't talk about here because I have to talk for an hour you know describe it to you people make horrible mistakes if you look in Goldstein's book on mechanics which is the one most people have learned from the derivations of canonical equations are just wrong however he understands that they're wrong and then he gets all in a lather about it and starts trying to explain to you why it's okay with lots of work...”
- In traditional texts, Herbert Goldstein's *Classical Mechanics* is cited as an example where canonical equation derivations break down due to careless notation, requiring convoluted prose apologetics to justify the results. - Sussman stresses that expressions are not functions: while $\frac{1}{\frac{1}{R_1} + \frac{1}{R_2}}$ and $\frac{R_1 R_2}{R_1 + R_2}$ are entirely different symbolic expressions, they define the exact same function.
---
[15:13](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=913s) Functional Mechanics and Translating into Scheme
To clean up the physics, Sussman adopts zero-based index partial derivatives—such as $\partial_1$ or $\partial_2$—which differentiate a function with respect to a positional parameter rather than an arbitrary coordinate name. This cleanly separates the act of differentiation from the act of evaluating the derivative along a specific state path. By explicitly representing the path $q$ and lifting it to a path in the system's state space, the Lagrange equations transform into a well-typed composition of functions where no type errors or ambiguities remain.
Sussman dismisses the idea that traditional dot notation can be repaired by some simple mechanical translator, noting that in standard texts one can find dozens of mutually incompatible uses of dot notations across successive chapters. Functional programming fixes this by enforcing absolute clarity. When mathematics is expressed as a functional program, it must be precise enough to be taught to a "dumb computer"—and once a computer can run it, a human being can finally understand it unambiguously. Sussman projects the Scheme code on screen, showing that the mathematical formulation maps one-to-one into Scheme expressions with complete structural fidelity.
When an audience member asks how professional physicists react to seeing classical mechanics written in Scheme, Sussman divides their responses strictly by career stage:
> “The young ones are very excited the very old ones are very excited and the ones around age 40 are not going to have anything to do with me at all and the reason is very simple the young ones are not yet committed to anything the old ones are no longer chasing after a Nobel Prize and the middle-aged ones are so busy working on with their nose to the grindstone on their next experiment or their next thing that they don't have time to think about something new and they're right for their careers it's the wrong thing to think about...”
---
[19:03](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1143s) Teaching Electrical Circuits and Engineering Intuition
Sussman traces the genesis of these ideas back to his experiences teaching electrical engineering students at MIT in 1974, before he met Guy Steele. While teaching introductory electrical circuits, he found himself struggling with how to communicate the tacit, intuitive thought processes of an experienced engineer. Standard circuit curricula relied on dense systems of equations that left students baffled and overwhelmed.
Displaying colorful old overhead transparencies made with 1974 Thermofax technology, Sussman notes that dropping a schematic of an active transistor amplifier in front of students routinely causes panic. A raw circuit diagram represents a coupled set of messy, nonlinear physical differential equations that are mathematically intractable to solve in closed form. Yet an experienced engineer can glance at the schematic of an amplifier and immediately understand how it functions by reasoning with operational abstractions, rather than getting buried under intractable systems of nonlinear equations.
[20:07](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1207s) Solving an Amplifier Circuit by Local Propagation
Gerald Jay Sussman invites the audience to watch how he analyzes an electrical circuit in real time, explaining that he frequently performs this demonstration and people are regularly astonished by how rapid and simple it is to follow. Addressing audience members without an electrical engineering background, he jokingly advises, "tough—watch what I do, not what I say." Examining an amplifier circuit under DC bias conditions, he begins by assuming the capacitors act as open circuits. Seeing a voltage divider, he determines the voltage at a specific node because the boundary voltages are already known. Since the base-to-emitter drop is roughly 0.6 volts, he deduces the adjacent node voltage is 0.6 volts below that, which immediately yields the current passing through the connected resistor. Under the assumption that negligible current enters the transistor base—acknowledging that “this could be wrong; it will be, in fact, slightly wrong”—he infers that the same current flows upward through the transistor and the next resistor.
```mermaid flowchart TD accTitle: Local Constraint Propagation in an Amplifier accDescr: Step-by-step local voltage and current deductions propagating across circuit components under DC bias conditions.
subgraph BiasStage["DC Bias Propagation"] A["Voltage Divider"] -->|"establishes"| B["Base Voltage"] B -->|"- 0.6 V drop"| C["Emitter Voltage"] C -->|"Ohm's Law"| D["Emitter Resistor Current"] D -->|"assumes base current ≈ 0"| E["Collector Resistor Current"] end
subgraph SmallSignalStage["Small-Signal AC Gain"] F["Input Wiggle ΔV_in"] -->|"propagates to stage 1"| G["Inverted Drop by R3 / R4"] G -->|"propagates to stage 2"| H["Amplified Rise by R5 / R6"] H -->|"total mid-band gain"| I["Gain = (R5 / R6) × (R3 / R4)"] end ```
Continuing the cascade of local deductions across series resistors, Sussman tracks voltages down by successive 0.6-volt steps and Ohm's law calculations until every node voltage and branch current is completely pinned down. He then shifts to dynamic behavior, showing how quickly the mid-band gain can be derived by small perturbations: “if I wiggle this a little bit, then I wiggle this by the same amount, which I wiggle that by the same amount, which means I wiggle this by that, which is the ratio of that resistor to this resistor, because the currents through these two resistors are the same.” Because the first stage inverts the signal by a factor of $R_3 / R_4$ and the second stage amplifies it by $R_5 / R_6$, the total mid-band gain falls out immediately as $(R_5 / R_6) \times (R_3 / R_4)$.
- Analysis assumes capacitors are open-circuited under DC bias conditions. - Base-to-emitter junctions introduce nominal 0.6 V potential drops. - Base current is approximated as zero, enabling direct series current propagation through the transistor. - Dynamic small-signal gain calculation depends strictly on resistance ratios across stages: mid-range gain equals $(R_5 / R_6) \times (R_3 / R_4)$.
[21:54](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1314s) Expressing Engineering Intuition as Code
Sussman reflects on the pedagogical gap between seasoned practitioners and beginners: every practicing engineer carries this propagation technique in their fingers, yet typical engineering freshmen have no idea how to do it. “The point is that that's something that every engineer knows how to do and no freshman knows how to do; how could I ever express it, and the only way I can think of expressing it is writing a program that does what I do.” Sussman explains that he and Richard Stallman spent considerable time studying this exact problem and wrote a program implementing the technique. He credits MIT professor Paul Penfield Jr. for teaching him the method by example, noting that although he had always been adept at electronics, Penfield’s approach revealed how remarkably simple the underlying logic was.
The entire procedure boils down to purely local deductions. Rather than maintaining complex global states or large algebraic systems, one applies local rules to observe neighboring components and writes annotations directly onto the circuit diagram. Sussman emphasizes that “the diagram is your memory,” meaning that because a schematic contains only a finite set of places to write annotations, you never waste effort or lose your place. In modern languages, the program implementing this propagation mechanism spans roughly five pages, compact enough for students to read, comprehend, and master.
[23:03](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1383s) Programming as a Medium for Thought and Education
Drawing broad philosophical conclusions from the circuit demonstration, Sussman argues that the central intellectual virtue of programming is how it demands clarity without getting bogged down in unnecessary mathematical formality. He draws a sharp boundary between being formal and being rigorous: “Programming forces one to be precise and formal without being rigorous. What I mean by rigorous and formal are quite different: formal means you know what that damn power series we're talking about; rigorous means you know it converges.” Because a computer flatly rejects vague or incomplete instructions, coding immediately surfaces one's hidden, unsupported assumptions.
He notes that this constructive discipline extends beyond the sciences and into art. Sussman cites Edgar Allan Poe's famous essay explaining the composition of *The Raven*, in which Poe laid out the deliberate, modular construction of the poem to systematically trigger specific emotional effects in the reader, debugging and smoothing out stanzas that did not work. Sussman then invokes what he considers the definitive statement on the subject, quoting the title of Marvin Minsky’s 1961 paper: “Why programming is a good medium for expressing poorly understood and sloppily formulated ideas.” Sussman dryly adds that this philosophy represents “exactly the opposite of people who want to play with type theory, for example.” Finally, he acknowledges Seymour Papert as the chief pioneer of using programming as an educational tool for constructing understanding, quipping that while Papert applied these ideas to young children, he himself applies them to students who are much older.
- Formalism demands knowing the precise entities under manipulation; mathematical rigor demands proving edge-case convergence. - Computers reveal unsupported reasoning by refusing to evaluate ill-defined steps. - Edgar Allan Poe treated poetic creation as an engineering endeavor in his analysis of *The Raven*. - Minsky's 1961 paper highlights programming as an exploratory medium rather than merely a verification harness.
[25:08](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1508s) Audience Discussion: Physics Formalisms, Mathematica, and Graph Rewriting
During the concluding question-and-answer period, an audience member shares an anecdote about double majoring in physics and computer science. While taking a mechanics class, the student asked a physics professor to explain what each intermediate algebraic step in an equation derivation physically represented in the real world. The professor replied that intermediate physical meaning was irrelevant because symbolic manipulation that yields the correct final result is all that counts. Disturbed by this answer, the student consulted their computer science advisor—who held a PhD in physics—only to hear, “yes, that's why I left physics and went to computer science.” Sussman nods along, remarking that former physicists in computer science often continue publishing physics research more successfully because they insist on operational clarity.
The conversation turns to commercial tools and alternative programming paradigms when an audience member asks about Wolfram Mathematica. Sussman dismisses the software bluntly: “Oh well, I don't know much about Mathematica since I've never used it; I write my own, but I don't much like Mr. Wolfram.” Another audience member follows up on the circuit diagrams, pointing out that Sussman's technique of pushing values across the diagram resembles term graph rewriting, and suggests that modern term-rewriting systems might condense the five-page program down to a single page. Sussman responds that circuit propagation is fundamentally non-linear rather than one-dimensional string manipulation, but agrees that more concise graph-rewriting frameworks could likely express it cleanly today, noting that the five-page program he and Stallman wrote dated back to around 1974. A final comment from the room recalls a math textbook remarking that Leibniz's notation allowed those who never understood calculus to teach it to those who never will, bringing the session to a close.
## Notable quotes > [23:03](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1383s) Programming forces one to be precise and formal without being rigorous. What I mean by rigorous and formal are quite different: formal means you know what that damn power series we're talking about; rigorous means you know it converges. — Gerald Jay Sussman
> [00:01](https://www.youtube.com/watch?v=arMH5GjBwUQ&t=1s) It's important to me that I can give you a program to read and you can learn something from it that I've figured out and if you give me a program to read I can read it and I'll learn something from what you figured out. — Gerald Jay Sussman
## Mentioned Gerald Jay Sussman, Dan Friedman, Structure and Interpretation of Computer Programs, Structure and Interpretation of Classical Mechanics, Jack Wisdom, Vladimir Arnold, Mathematical Methods of Classical Mechanics, Albert Einstein, Isaac Newton, Gottfried Wilhelm Leibniz, Michael Spivak, Calculus on Manifolds, Herbert Goldstein, Classical Mechanics, Scheme, Guy Steele, Richard Stallman, Paul Penfield Jr., Edgar Allan Poe, The Raven, Marvin Minsky, Seymour Papert, Stephen Wolfram, Mathematica, Smithsonian Institution, Science, Caltech, MIT
## Video description Gerald Jay Sussman: The Role of Programming in the Formulation of Ideas
http://www.cs.indiana.edu/dfried_celebration.html
Recorded 9:00 am, Saturday, December 4rd, 2004.
[Source](https://www.youtube.com/watch?v=arMH5GjBwUQ)