3 ms·
Thank you, this is what I believe as well. At work I solved the previous team's dependency hell in this way. Our app is installed on many computers in the org
by olvy0 4y ago
Thank you, this is what I believe as well. At work I solved the previous team's dependency hell in this way. Our app is installed on many computers in the organization, and it has dependencies that fortunately are mostly developed in-house, where I'm the one ultimately controlling the API and the ABI. I wanted to enable those dependencies to be developed without me recompiling everything, and vice versa. Previously everybody just recompiled everything, and this slowed development to a crawl since upgrades took forever.
This isn't a server, it's something that people install on their machines and are free to upgrade in whole, or in parts (upgrade just a single dynamic library to fix a bug), or not at all.
My solution was to use a "COM-inspired" versioning. I defined an interface-based ABI. Not a function-level versioning as suggested here, it's more coarse than that, but it was enough. See my comment here [0].
[0] https://news.ycombinator.com/item?id=31965368 https://news.ycombinator.com/item?id=31965368