Why does software need a 'save' option?

Save
Shouldn't the option to 'save' be a thing of the past?

Why does every piece of software have a 'save' option? What I mean is, why is it an option? "Do you want to save the changes you made to MyLifeStory.doc?" Are you insane? Why are you even asking me this? Of course I want to save. My CPU doesn't ask me if I want to spin the cooling fan does it? My firewall doesn't ask me if I want to block hackers. These things are just assumed.

Now I know exactly what the developers would claim when confronted with this. I know because I used to be one. They'd say "Oh, but suppose you make some edits and then change your mind?" But that's what undo is for. The real reason that the Save operation has to be manually confirmed is because developers are lazy. They are too lazy to explicitly save every keystroke I make (timed save is much easier to code) and they are too lazy to implement an undo feature that persists between sessions. But I shouldn't have to care about this. If they are feeling lazy, stop messing about redesigning the toolbar every version. That should save them a few week's work. Saving should be as automatic as breathing and the file should preserve every edit so that I can roll back to any previous point indefinitely. Files will be quite a bit bigger, but who cares? Disk space is the single cheapest resource a computer has.

Don't tell me this is impossible. I know it can be done. It's not a technical issue, it's a cultural one. Windows developers are brought up to believe that you can do anything you like, as long as you tell the user and they click OK. ("Windows is bust and all your data is lost. [OK]") Conversely, they also think that you can't do anything unless the user okays it first. ("You have pressed the Shift key. Do you really want capital letters? [OK] [Cancel]") This simply won't do.

I'd like an operating system that has no mechanism for displaying modal dialog boxes. If you can't figure out how to communicate with me except by popping up a message that requires me to make a moronic choice or take responsibility for your bad programming, then you need to redesign your user interface.