go ahead... be a heretic | |
PerlMonks |
Re^4: On moving forward and breaking compatibilityby pemungkah (Priest) |
on Feb 13, 2010 at 00:55 UTC ( [id://822966]=note: print w/replies, xml ) | Need Help?? |
Upgrading to a new dependency without testing code with the new dependency is a worse maintenance practice.Agreed, but. To talk about "safety belts" from a different perspective: Running into trees is bad driving practice, so manufacturers (after being forced to do so, interestingly enough) put seatbelts and crumple zones and roll cages in cars (or do safety recalls) instead of putting a small sticker inside the glovebox that says "PLEASE DO NOT RUN INTO TREES AS YOU WILL GET HURT", or "CAR WILL ACCELERATE UNCONTROLLABLY IF FLOORMATS ARE LOOSE" and saying "okay, job done". We buy the car and have to get used to how all the safety stuff works. We do not, however, expect the car to end up with antilock brakes because we took it in for an oil change! If there was a service bulletin or a recall that required something like this, sure, we'd want it. But we'd be pretty upset if someone hadn't very carefully explained that the car was going to drive differently - because not making sure of this could cause an accident, and the driver would probably feel that the service folks had not done their job if there was one. Back to software: I think it's reasonable and responsible to consider the possibility of, and avoid, potentially dangerous situations, not blame the person in trouble. Designing anti-lock brakes took time and effort, and most of the time they're unnecessary. But if they are, they make a big difference. Yes, programmers are supposed to be smart. But they are also sometimes tired, in a hurry, or a little careless - and sometimes, for whatever reason, they're not smart either. I think it's good practice to do a little extra myself so that if something dumb does happen, the damage is minimized, or even prevented. I feel like I'm responsible for making this kind of difference when I can.
In Section
Meditations
|
|