4 ms·
> People break library interfaces, that's just a fact of life. Sure, but in my experience it happens at least 10x as frequently in NPM than with Go. It's reall
by Strom 9y ago
> People break library interfaces, that's just a fact of life.
Sure, but in my experience it happens at least 10x as frequently in NPM than with Go. It's really common for me to update all my Go dependencies and everything just continues to work. With NPM I have to start looking for migration documentation and change a bunch of my code.
- ghayes 9y agoFor me, it was difficult that I couldn't have reproducible builds. I would kick off a deploy and it would one day break due to some dependency (incorrectly) making a breaking change. It's important to keep packages up to date, but I believe it should be a conscious decision of the developer.
- Strom 9y agoI also think reproducable builds are very important. Vendoring has solved this for me in Go even before it was officially supported. My main fear is that when people get used to the idea that their master repo doesn't have to have a backwards compatible interface, then updating dependencies will look awfully similar to NPM where authors change interfaces based on their weekly mood.