From Bjorn Freeman-Benson’s talk Airplanes, Spaceships, and Missiles: Engineering Lessons from Famous Projects
Bjorn is discussing the ferrite core memory of the Apollo guidance system.
These are very, very robust memory systems. … But the problem is that they actually have weight to them. Core memory actually weighs a bunch, so when you’re writing your program for the lunar module … every line of code that you wrote had a consequence in weight. And you could measure how heavy your code was at the end of a compile line. … It’s an interesting analogy to keep in mind because in fact even today our code has weight. It doesn’t really have physical weight … Our code has psychological weight because every line of code we write has to be maintained. It has to be supported. It has to be operated.
5 thoughts on “The weight of code”
Also interesting in this context are the exascale contraints.
For instance, the 20 MW power envelope, which may be exceeded by the needs of powering the memory alone if we just keep evolving the current tech as before: http://youtu.be/zZGYfM1iM7c?t=34m9s
// From C++Now 2013 Keynote: Dan Quinlan: C++ Use in High Performance Computing Within DOE: Past and Future.
Agree with you completely.
Unfortunately, since about 1995 the “whole computer development” was directed towards “hiring cheaper programmer”
so most of the code we run today it badly written, using tools and languages that don’t care about amount of RAM & HD space wasted.
If you ask them to write program that does “1+1” – it will probably take a couple of megabytes, in the best case.
The remaining refuge in these dark times is embedded systems development – where short code & assembly language still mean something.
Today’s Computer Science graduates look at embedded systems environment in disbelief, and have a hard time (to themselves or to the customer) applying “desktop” programming methods to embedded systems…
Really liked the quote at 38:18 as well about the most general problem is usually what you don’t want to solve.
John: Agreed. That’s a good thing to keep in mind. People are constantly solving particular problems that are provably intractable in general.
To paraphrase the quote in the era of web apps: “It doesn’t really have physical weight … Our code has data plan weight because every line of code we write has to be downloaded.”