From my own experience as a programmer, I think this is idealized to the point of being false. Finding a few distantly-separated, interacting regions of code which don’t respect a clean abstraction is pretty common, especially when debugging (in which case there is an abstraction but it doesn’t work).
From my own experience as a programmer, I think this is idealized to the point of being false. Finding a few distantly-separated, interacting regions of code which don’t respect a clean abstraction is pretty common, especially when debugging (in which case there is an abstraction but it doesn’t work).