Modern programming is all about abstracting away detail to allow the programmer to concentrate on the structure and other stuff that matters, but it seems to me (and I may be wrong) that increasingly we find things that look the same, get used the same, generally behave the same, and then are different in a corner case.
I agree. I would paraphrase this as: Leaky abstractions cause bugs, and unfortunately all abstractions turn out to leak at some point (I think someone else said it this way before, but I can't remember who right now). EDIT: Found it - http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...
This doesn't mean we shouldn't use abstractions of course - it just means each abstraction comes with a cost.
I agree. I would paraphrase this as: Leaky abstractions cause bugs, and unfortunately all abstractions turn out to leak at some point (I think someone else said it this way before, but I can't remember who right now). EDIT: Found it - http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...
This doesn't mean we shouldn't use abstractions of course - it just means each abstraction comes with a cost.