![]() ![]() Hyrum's Law isn't about what you should do, or how things should be, it's telling you an observable fact about our world that some people don't like. If you accept that people are going to rely on things you didn't contract for by mistake then you're right back to Hyrum's Law. And why as a consequence, even core products built by competent companies (like Google Maps) have regressions in 15-year-old features every other week. The problem is, you almost have to do that, because were two generations of software engineers into this and the practice is so accepted now that libraries no longer bother to document what they do (and don't) guarantee.Īnd then people wonder why every existing piece of software needs a fully staffed team nowadays just to keep it working. So whenever I see software developers on my team look at the source code of a library to figure out "whether it's thread-safe" or "whether the sort order is stable" or whatever, I die a little on the inside. But that's exactly the kind of thing that's regularly suggested to guard against Hyrum's Law. No one in their right mind would start to introduce artificial faults into their screws purely for the reason to prevent users from depending on the excess strength or something. A year later, the supplier finds a cheaper way to produce the screws (or introduces a binning process) and as a consequence, the screws only exceed the spec by 5%, and the customer's product breaks. Let's say that the screws accidentally overfulfil the specification today by 20%, and a customer measures the material to figure this out, and starts to depend on that. There could be a kind of Hyrum's Law at play, if hardware engineers were idiots. And good engineers on the supplier side will find ways to fulfill that specification as cheaply (which usually also means as narrowly) as possible. Good engineers on the customer side will use the screws in a way that keeps within the spec. ![]() ![]() It has a documented specification in terms of torque, material strength and whatnot. I'm not trying to be overly dramatic, but I think it's precisely when the industry accepted this as a law - instead of treating it as something that needs be trained out of junior programmers - is when software quality started to tank.Ĭonsider any other form of engineering. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |