Russ Cox, who developed the dependency/package management system for Go, writes about the problems with software dependencies. A choice excerpt:
Dependency managers now exist for essentially every programming language. [...] The arrival of this kind of fine-grained, widespread software reuse is one of the most consequential shifts in software development over the past two decades. And if we’re not more careful, it will lead to serious problems.
A package, for this discussion, is code you download from the internet. Adding a package as a dependency outsources the work of developing that code [...] to someone else on the internet, someone you often don’t know. By using that code, you are exposing your own program to all the failures and flaws in the dependency. Your program’s execution now literally depends on code downloaded from this stranger on the internet. Presented this way, it sounds incredibly unsafe. Why would anyone do this?
(Score: 3, Insightful) by DannyB on Friday January 25 2019, @04:47PM
I'm not worried about systemd growth. Nor about the size of Emacs. Neither of these have grown anything like the
bloatgrowth and new features of Java. A sprawling bytecode VM managed runtime with GC that grows and is almost an entire OS unto itself.The lower I set my standards the more accomplishments I have.