Settings

Theme

Semantic Versioning is a terrible mistake

reprog.wordpress.com

4 points by MikeTaylor 2 years ago · 5 comments

Reader

ahuth 2 years ago

I'm amenable to the idea of not making breaking changes if you can help it.

But...

> To say it another way: If you need to make a breaking change to your API, it means you screwed up. Don’t screw up.

I'm skeptical that we can always predict the future well enough to get an API perfect from the beginning.

Sometimes the best we can do is do the best we can, learn, and do better.

  • MikeTaylorOP 2 years ago

    I did wonder how much to soften this message, because yes, of course, there really ARE times when a breaking change is necessary. But I think those account for maybe 1% of the major releases we see these days. The rest are down to laziness, carelessness, or just not having thought about it at all.

    • TillE 2 years ago

      This is an extremely uncharitable way to characterize how our understanding of a problem, our requirements, etc evolve over time and with feedback from users.

      Making a good API is really hard. I think there's plenty of room for discussion about how we should break things, but "just do it right the first time" is not realistic.

      • MikeTaylorOP 2 years ago

        And yet, it's what a lot of old-timey software engineers consistently did. Yes, we work in a more complex ecosystem than they did, but I can't shake my sense that 90% of the reason is that they held themselves to a higher standard. Heck, they still do in the Go community, where major versions are still a big deal.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection