The role of distributions &/or Unix flavors, where does pkg management stands - Psychology, Philosophy, and Licenses
Users browsing this thread: 8 Guest(s)
|
|||
(08-04-2020, 03:43 PM)jkl Wrote: Define “dependency-heavy”? I think he meant something like "uses code from external sources (other than what is provided by the language's standard library or libraries)". As opposed to "batteries included". If I understand correctly, updating a statically-built program to incorporate changes in any of its dependencies still requires a rebuild. Otherwise it will still use the old code. With dynamic linking the updates can be transparent (unless the major version changes, usually because the API does), and the using program doesn't always need to be recompiled. It does put the burden on the static program's maintainer to keep track of changes in the dependencies, but personally I prefer getting the opportunity to test their effects on my code rather than having them deployed "behind my back". (Edit: Somehow I had missed page 3 of this thread when I wrote this reply. Oh well.) (Edit2: actually the maintainer of a dynamically-linked program ought to also be tracking changes in the libraries it depends on and testing that they don't adversely impact his program. In my time as a FreeBSD port maintainer I learned that the ports management team only checks that an upgrade of a library doesn't break the build of the programs which depend on it; as far as I know they don't do even the most rudimentary "smoke" test of those programs, let alone more detailed functional or other tests. I expect the same is true for the various package management systems. So the difference between static and dynamic linking is really a wash as far as upgrades go, assuming conscientious maintainers in both cases. Which might be a BIG assumption.) |
|||