5 ms·
Static linking is independent of this concern. Go could implement dynamic linking but doesn't for ideological reasons. I'd really hate to be a distribution ma
by readams 11y ago
Static linking is independent of this concern. Go could implement dynamic linking but doesn't for ideological reasons.
I'd really hate to be a distribution maintainer in a world where go components are common. Security bug in the TLS library? Time to download 14GB of updates!
- nulltype 11y agoJust download the deltas instead?
- xyproto 11y agoNot ideological reasons. The latest version of Go supports dynamic linking for some platforms.
- pjmlp 11y agoOn Android there is no way around it, as native code can only be accessed via dynamic linking. This is what some Go designers think of dynamic linking: http://harmful.cat-v.org/software/dynamic-linking/ http://harmful.cat-v.org/software/dynamic-linking/
- shadowmint 11y agoYeeesss... but ultimately, Go is also a pragmatic language. Dynamic linking is coming to Go, like it or not; because it's a feature that is needed in certain circumstances, and that has been acknowledged, even by the Go team.
- GauntletWizard 11y agoAnd those reasons are clear and clear-cut. Dynamic linking is a net negative in most use cases, and certainly in all the use-cases that the Go developers are developing for, where reproducible builds are mandatory, code size is a tiny fraction of main memory, and code quality is very strictly maintained. When you've built a good development and deploy strategy, rebuilding and redistributing your binary is an everyday activity. There's no additional cost.
- bahamat 11y agoThat same web page lists Linux as harmful. http://harmful.cat-v.org/software/operating-systems/linux/ http://harmful.cat-v.org/software/operating-systems/linux/
- marssaxman 11y agoI'm happy to be an end user in a world where go components are becoming more common, because statically-linked executables are far less likely to break when I upgrade unrelated programs.