I know why Windows is riddled with confirmation dialogs everywhere! It’s a coding theory problem: the minimal distance between valid codewords in a windowed interface is much smaller than that in a command line interface, so you have to add check bits to increase the distance. In layman’s terms, the probability that I accidentally clicked on “delete” instead of “rename”, which are adjacent, is much higher than the probability that I typed rm instead of mv.
Of course, there are still those times when the command line coding has too small a minimal distance. Here’s a case study, which happened to me about a year ago:
# mkswap /dev/sda3
It turns out that sda4 was my designated swap partition, and sda3 was my root partition! This particular typo had horrible coding dynamics: the typo came at the very end of the line, right before return (so all visual checks are off); the typo was likely to result in another valid codeword; and there was no confirmation question. Thus I spent the next 6 hours figuring out how to restore an ext3 filesystem from its backup tables.