4 ms·
"sufficient number of users" is a bit vague. Is there intended to be an implicit limit of "all the people in the world who might plausibly use this API"? Then
by mjw1007 4y ago
"sufficient number of users" is a bit vague.
Is there intended to be an implicit limit of "all the people in the world who might plausibly use this API"? Then I'm sure the law is false.
If there isn't intended to be such a limit, then the law is unfalsifiable and not useful as a guide to activity.
I think this purported law comes from the sort of advice you can end up giving when you notice that many young programmers err too much in the direction of X, so you make an exaggerated statement in the direction of not-X to correct them. This can be distinctly unhelpful in the long run.
- joshuamorton 4y agoIt's born out of direct experience trying to change code within Google.
- mjw1007 4y agoI'm sure it is, and if you interpret that page as really saying something like "If you're working at Google around 2020 and you're thinking of changing some undocumented behaviour then you should be aware that it's more likely that someone's relying on it than you might expect", then I've no doubt it's splendid advice. But that's not what he actually wrote, and I can easily imagine a future where this "law" starts to be quoted in contexts where it doesn't turn out to apply.
- joshuamorton 4y agoIt's a decade old, and the things that Titus and Hyrum work on aren't Google specific but "improving c++ apis". It's just that Google has 1. A lot of code 2. The ability to test all of their dependencies code And so the people making the changes can detect all of the breakages. If it was possible for me to run the CI for every system on GitHub that depended on the library, it might be more obvious, but usually the cost of these unintentional breakages is borne by users not maintainers. The law applies to anyone who maintains a widely used library, whether that's good, Django, or std::. And note that many more people in this thread are calling the law "obvious", than thinking it's not true. That should give you some pause.
- mjw1007 4y agoI think it's likely that nobody in this conversation actually disagrees with anyone else about how frequent such dependencies are. But the "law" is not literally true, so to make it useful you have to mentally add some reservation: "no, of course I don't mean that someone will be depending on a detail like _that_". The trouble then is that it doesn't work usefully as a piece of advice: if you're not already experienced enough to know where to draw the line, it doesn't help you get any more accurate. It's like saying "however big you think X is, it's bigger than you thought". But maybe I'm wrong about what you believe. Do you actually think the "law" as stated is literally true (without using a quibble like "well, there's no upper bound on what we mean by 'sufficient'")?