Complexity Considered Harmful: We Used to Run an Operating System on 64KB of RAM, Not 64GB of RAM (a Million Times More)
"Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory"
Once upon a time nobody had a computer at home. Some people had access to a computer, but not at home. Mainframes were a thing*, universities offered access to computers, and companies or military facilities needed computers for all sorts of purposes. CP/M was released in 1974, a decade before GNU. Led by Digital Research and Gary Kildall (whom Microsoft ripped off), it was once quite popular but "was eventually displaced in popularity by DOS following the 1981 introduction of the IBM PC." (Quoting Wikipedia despite its many flaws)
"If schools had always only ever taught computing from the perspective of what software is on the current market," an associate argued today (citing this blog post dated yesterday), "they [or we] would still all be using CP/M".
Quoting the introduction:
CP/M was the most successful microcomputer operating system during the 8-bit era. It has been highly influential and is still very much worth exploring if you’re interested in operating system history, retro-computing or are simply looking for a fun lesson in minimalism (which is quite a grounding experience in times where we have gigabytes of memory and IT people at large seem to have lost any motivation to optimize and not waste resources).
Well, teaching how computers work is a lot easier with 8-bit systems, where complexity is reduced sufficiently to teach principles (like what makes an instruction and what each bit signifies). I did that more than 25 years ago; nowadays, instead, they tell people to play with bloated Web browsers using JavaScript "frameworks" and blobs like WebAssembly. This won't teach much, it'll encourage memorising library names and interfaces. As an associate put it: "This one is heading further down the dreadful path of misusing the browser as an inefficient, insecure virtual machine".
The security problems can be 'upstream' or 'downstream'. Why would you trust a browser as large as 300 MB in size and WebAssembly to not have bugs in them? Also, if to many people the use cases are something like checking the weather forecast and writing some textual notes, why can't 1 MB be enough? When we drown in complexity we invite security curses. █
_____
* They still are, but people who know how they work are retiring. This was moments ago, published by someone who had spent 25 years working on IBM stuff:
"Dinobabies" is what IBM calls them.

