While reading the book “Software Engineering at Google” I came across this and thought it was funny:
Some languages specifically randomize hash ordering between library versions or even between execution of the same program in an attempt to prevent dependencies. But even this still allows for some Hyrum’s Law surprises: there is code that uses hash iteration ordering as an inefficient random-number generator. Removing such randomness now would break those users. Just as entropy increases in every thermodynamic system, Hyrum’s Law applies to every observable behavior.
It is beyond me why anyone would use hashset ordering as a random number generator! But that is why Hyrum’s Law is a law and not some other thing that’s not a law. For context, Hyrum’s Law states:
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
While reading the book “Software Engineering at Google” I came across this and thought it was funny:
It is beyond me why anyone would use hashset ordering as a random number generator! But that is why Hyrum’s Law is a law and not some other thing that’s not a law. For context, Hyrum’s Law states: