Dependency management in Go: https://research.swtch.com/vgo-principles
There's a tradeoff between work for libraries (declare your minimum version/any incompatibilities) vs work for programs (investigate when dependencies aren't compatible). If programs are more common, should we empower them?
miniblog.
Related Posts
LLMs seem to handle dependency upgrades really well.
The task is well-specified, there's usually a build/test suite to check correctness of the modifications, and there's often a changelog they can consume too.
I made some changes to a node express project that I haven't touched in almost five years. I was pleasantly surprised that I only needed to update one dependency to get it working again!
(It was sqlite3, which is a native dependency using node-gyp.)
I've been reading about the object-capability model as seen in the E programming language.
It reminds me of dependency injection, but used pervasively. Rather than calling static methods, you pass in object arguments and call methods in them.