Hacker News new | ask | show | jobs
by Apreche 909 days ago
Raise your hand if you always come up with the perfect API on the first try. If you demand no breaking changes ever, that means you are insisting on staying with an imperfect API forever. Isn’t it better to iterate towards something better? Strive towards perfection? No, you just want everything you use to be someone’s first draft because changes aren’t allowed?

Well, even though the API isn’t perfect, you used it as a dependency in your own project. It’s good enough for your needs, and you don’t need those changes. The imperfect is good enough. You just don’t want more work of having to update. I get it. We’re all lazy.

The real mistake here is that very new and immature packages are becoming popular way too early on in their lives. People just can’t resist the new hotness. If you want a stable API, use things that are very old and have already been polished extremely thoroughly. They made their breaking API changes long ago, and now they are much less likely to change.

I know we all laugh when people keep the beta tag on their software for way too long after they already have tons of users depending on it. GMail was a notable example. But maybe that’s not wrong. Maybe wave that beta flag high up for several years until you are sure you have figured it out and are ready to stop making API changes.

If you think about the packages the author uses as an example, like node and react, I don’t think the beta flag would have necessarily been innacurate.