Pretend you have a really great programming day.

You only have to attend a few meetings, have only a few off-topic conversations, don’t get distracted or interrupted much, don’t have to do a bunch of status or time reporting, and you put in a good six hours of serious programming [note: this RARELY happens in an 8-10 hour day].

I want to review your work in the morning, so I print out a diff of your day’s work before going home.

Sadly, overnight the version control system crashes and they have to recover from the previous day’s backup. You have lost an entire day’s work.

If I give you the diff, how long will it take you to type the changes back into the code base and recover your six-hours’ work?

[…]

The answer I receive most often is “about half an hour.”

Source: Programming Is Mostly Thinking

I’ve experienced this before. And even without the diff, I often have enough memorized to just rebuild it from scratch in short order.