Comment on How does code that's meant to fix one bug break other features?
breadsmasher@lemmy.world 3 days ago
if code is hyper specific
it isnt.
Comment on How does code that's meant to fix one bug break other features?
breadsmasher@lemmy.world 3 days ago
if code is hyper specific
it isnt.
tunetardis@piefed.ca 3 days ago
This.
As much as you try to keep various modules in your program functioning as independently from one another as possible so that you can unit test the shit out of them, the whole system is far more complex and interdependent in the end.
And that’s just within your own code. Bring in external libraries, drivers, etc. and it’s easy enough for fixes downstream to affect what happens further up.
One thing I find interesting is there seem to be cultural differences between platforms. In Windows, for example, it’s super common to see multiple versions of the same library installed, and apps dependent on a specific version, even if it’s rather ancient. Linux/Mac tends to frown on this? There may a stable version and development version, but that’s about it. So the onus is more on the app developers to make sure their code works with the latest library.
It’s also important to note that it’s not always an unanticipated effect. There may be some need to change a library to no longer support a certain usage. In that case, the old usage is marked “deprecated” and anyone using the library is given a window of time to make adjustments to the new interface, but if they don’t get there on time, the patch breaks their program. And in some cases, the adjustments can be major, requiring what amounts to a total rewrite.