Tying in with what I’ve already mentioned about abstractions, Joel has written up The Law Of Leaky Abstractions; something that I’ve known for a while, but have never managed to consolidate in my head. This is why too many layers of abstraction are dangerous: if something leaks (and they do), it takes an age to track the problem through the layers and then figure out why it leaked.