Metadata
"A lot of our habits are left over from a small-memory world. There was a time when you couldn't get the whole program in memory. So it became important to discard the names used in a program when the program is done. I take issue with the idea that you don't have to call things what they are. And I take issue with the notion that the program will get done. Any program that's being used isn't done. The notion that it'll be done, and we can forget about it, is the biggest lie that we've founded our practices on."
[Infoworld]
I've always wondered how valueble it is to strip out all the PDB info from your program when you go into release mode. Yah, it does cut down on program size, but it can make tracking down the source of bugs a real pain. At least with .NET, we still have stack trace by class/method, so it isn't as bad as some of the pre-.NET alternatives, but if a generic exception is thrown by a complex method, just knowing the method is just the tip of the iceberg.