How can you not be romantic about programming? (2020)
That's a sweet childlike view of the world, like the picture postcard of a White Christmas (tm).  The real world is like Texas... bad design can produce a black swan failure decades in the making, at any time.<p>We're like the management at NASA, with their improvised spreadsheet models of O-ring erosion and a theoretic model of how x% of erosion equates to y% of danger, when in reality the original architects wrote down that ANY erosion meant the system wasn't safe, and needed redesign.<p>As far as I know, none of the code holding everything together is actually suitable for purpose. This is <i>terrifying</i> to me.<p>---<p>MS-DOS was fit for purpose, when it ran on floppy disks you could write protect and make copies of.  You could run <i>any</i>  program you wanted, downloaded from any BBS or copied from any shareware disk, and know full well the biggest loss you could incur would be having to make a new copy of your data, or OS on a fresh floppy disk.<p>Programming <i>was</i> fun back then, because you didn't have to worry.<p>That ended when we got hard drives, and when people figured out how to infect firmware, there was no going back.<p>---<p>Unless... you start with new hardware and firmware, and don't ever trust applications to talk to the hardware directly, ever.  You then minimize the kernel of code as far as practical, and set it up with policies that protect itself, and the hardware by default.<p>Only then is it <i>possible</i> to get the fun back again. You give the user the tools to decide exactly what to trust a program with, and enforce their decisions. They can be trusted to act wisely, if the tools are sufficiently transparent and easy to use.