Programming now isn't so much like that
2026-03-09 17:12:55.417794+01 by
Dan Lyke
1 comments
wingolog: international lisp conference -- day two has this very interesting
snippet:
The "debate" had an interlude, in which Costanza asked Sussman why MIT had
switched away from Scheme for their introductory programming course, 6.001. This was a
gem. He said that the reason that happened was because engineering in 1980 was not what it
was in the mid-90s or in 2000. In 1980, good programmers spent a lot of time thinking, and
then produced spare code that they thought should work. Code ran close to the metal, even
Scheme -- it was understandable all the way down. Like a resistor, where you could read
the bands and know the power rating and the tolerance and the resistance and V=IR and
that's all there was to know. 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. You have to do basic science on your libraries to see how they work,
trying out different inputs and seeing how the code reacts. This is a fundamentally
different job, and it needed a different course.
Via
Andy Wingo
@wingo@mastodon.social
[ related topics:
Software Engineering Work, productivity and environment Heinlein Conferences Archival
]
comments in descending chronological order (reverse):
#Comment Re: made: 2026-03-14 15:48:31.176936+01 by:
Definitely Not a Bot
[edit history]
Here, I thought 6.001 was still Scheme and SICP to this day. Never took any 6.xxx courses myself but I did read SICP for fun.
Sussman story... I was an engineering grad student but hanging around at the AI Lab a lot to see a friend but also to use their espresso machine. I ran into a lot of people, including Minsky and Stallman. Hofstadter was there for a year and he had a minicomputer and I said something stupid like "just imagine all the intelligence in that machine" and Sussman said "a car has more intelligence." Then I was enlightened.
Speaking of Hofstadter, I expressed my interest in GEB and he gave me a puzzle. I was to create a directed graph with nodes all 1 or 0. When you traverse the graph it can generate all multiples of 5 in binary and only multiples of 5. He was primarily interested in that "aha" moment when you perceive the next level of abstraction. I tried for a few days and gave up. He showed me the solution one of his students had created. It was beautiful; it looked like a mandala. I had an "oh" moment and knew, smart as I was, I was a level or two below these guys.
On the other hand I am now remembering an experiment I saw there. They had a very thin sheet of steel, less than a millimeter, standing on its edge. On each side was a small array of two or three piezoelectric strain sensors. I knew these sensors read strain and convert it into a small electric signal. But what they were doing at this lab was running the piezos backward, putting in some small voltage, which then stressed the slim member. Did I mention atop this vertical sheet was a pretty heavy load. It was light enough not to exceed the yield stress of the steel, but it should have caused the steel to buckle. When Sussman showed it to me I said, "Oh cool, if this sheet of steel was a small section of a long beam it would never buckle due to the stresses the parts of the beam next to it would transfer. Here you mimic the presence of the rest of the beam on both sides by driving the strain sensors backwards, and thereby suppressing the buckling mode of failure." He was pleased. I think he did not get the same understanding from his students. Yay engineering.
The coolest thing I saw there was a guy who was trying to create AI from the bottom up by following the steps in Piaget's The Construction of Reality in the Child. I don't recall ever seeing anything come of that. Nowadays they just pour a bunch of info in a hopper, stir, and cross their fingers.
We will not edit your comments. However, we may delete your
comments, or cause them to be hidden behind another link, if we feel
they detract from the conversation. Commercial plugs are fine,
if they are relevant to the conversation, and if you don't
try to pretend to be a consumer. Annoying endorsements will be deleted
if you're lucky, if you're not a whole bunch of people smarter and
more articulate than you will ridicule you, and we will leave
such ridicule in place.