XXIIVV

Imagine that software development becomes so complex and expensive that no software is being written anymore, only apps designed in devtools.

In mainstream computing, ease of use is usually implemented as superficial simplicity, as an additional layer of complexity that hides the underlying layers. Meanwhile, systems that are actually very simple and elegant are often presented in ways that make them look complex to laypeople.

Steve Jobs supposedly claimed that he intended his personal computer to be a bicycle for the mind — But what he really sold us was a train for the mind, which goes only between where rails and stations have been laid down by armies of laborers.

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at and repair. Douglas Adams

Institutions will try to preserve the problem to which they are the solution.

I always told people that the thing computers are best at is adding unwanted complexity. If I am in a room full of computer professionals I think I am in a room full of people who mostly make their living dealing with computer fat. If you ask that room full of people what their companies do what will they say:

We sell software to clean up the garbage left behind by your programs. We sell software to deal with the growing complexity of your software. We just keep selling bigger upgrades to our product. We sell a bigger CPU. We sell bigger memories. We sell a service solving people's upgrade problems. We sell PCs to people who don't need them. ~

The managers were horrified at the suggestion that flawless software should be delivered since company derived its stability from the subsequent maintenance contracts.

The following text was found in a file in the DawnOS disk image, an operating system running on the Subleq virtual machine:

Imagine a computer, which requires 1 billion transistors to flicker the cursor on the screen. Imagine a world, where computers are driven by software written from 400 million lines of source code.

Imagine a world, where the biggest 20 technology corporation totaling 2 million employees and 100 billion USD revenue groups up to introduce a new standard. And they are unable to write even a compiler within 15 years.

This is our current world.

The Cloud Is Just Someone Else's Computer

A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

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.

So the good thing about the new 6.001 was that it was robot-centered -- you had to program a little robot to move around. And robots are not like resistors, behaving according to ideal functions. Wheels slip, the environment changes, etc -- you have to build in robustness to the system, in a different way than the one SICP discusses.

And why Python, then? Well, said Sussman, it probably just had a library already implemented for the robotics interface, that was all.

Our choicest plans
have fallen through,
our airiest castles
tumbled over,
because of lines
we neatly drew
and later neatly
stumbled over.
Piet Hein

incoming programming hardware aesthetics lasting uxn devlog varvara devlog hundred rabbits