It's up to apps to implement it. But why, do you honestly think it will get in the way anywhere besides IDEs (and maybe not even there...)? This is an honest question because I can't really think of instances where I wouldn't want something like this.
I'm spoiled by Notational Velocity, which saves automatically, and by iPad apps for same. I have Coda and TextMate set to save when they lose focus so I don't lose work...
Those people are exceedingly rare. And I'm sure applications won't autosave huge files; if they do there would be large performance hits. Most files that need autosaving are basic documents, maybe pictures. 99.9% of the time autosaving is a good idea.
If your autosave makes you run out of disk space, you're probably "doing it wrong".
They are not so rare at this point in history - many people use a laptop as their main/only machine, and the move to SSD shrunk my disk by 3X. Space is going to be tight for a couple of years - I traded it for great performance.
It seems pretty small-minded to blame the user for "doing it wrong" because an application used up all his hard drive space with no way to disable it. What would "doing it right" consist of? Just not using the application at all?
Why shouldn't the OS treat the HDD/SDD just as it does RAM: use up as much as possible in the background, while always ensuring the user's immediate needs come first? In other words, empty disk is wasted disk. Lion could quite easily use 'empty' disk space for document versioning or local backups, and immediately reap those versions/backups when the user actually does need that disk space.
For HDDs (rather than SSD), there are very good technical reasons not to abuse the disk. Disk access is easily the slowest thing a computer. While everything else leapt ahead over the past several decades, seek times for hard disks have improved a fair amount, but nothing like the almost unbelievable improvements the other parts of your computer have gone through.
Your computer already kind of does what you describe: That's what virtual memory paging is. And when your system starts paging a lot, it's noticeably slower. And when your computer starts paging with a nearly full disk, it is an out-and-out dog.
Actually, I disagree. What I describe is more like RAM buffered IO, where the space can be reclaimed at no cost, rather than swap, where the data must be saved for coherency.
It's entirely viable for a filesystem to archive all of the data you've ever created. Treat the archived files as an LRU cache and, when new data needs to be saved, just write over the least recently used data. Instead of a volume bitmap of used blocks, you have a tree that can be traversed to get the blocks that can be overwritten. This is not data that must be saved, like the swap; it's data that should be saved until something else needs it, at which point it's overwritten, like most OS's RAM IO buffers.
I'm spoiled by Notational Velocity, which saves automatically, and by iPad apps for same. I have Coda and TextMate set to save when they lose focus so I don't lose work...