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