3 ms·
I don't really see the hype, I think it's just the intersection of a few factors: - Languages like Rust which have an ecosystem that evolves very quickly (and
by simias 6y ago
I don't really see the hype, I think it's just the intersection of a few factors:
- Languages like Rust which have an ecosystem that evolves very quickly (and uses complex symbol mangling schemes that would break all the time) wouldn't fare very well with dynamic linking in the first place. What good is dynamic linking if you need a different version of your .so file for every binary?
- Dynamic linking is not quite as useful today a it was in the past. Code size is not usually very significant, either on cold storage or in RAM. Actually for RAM it's cache usage that matters most, and static linking can usually be more efficient here through LTO.
- Over the past ~2 decades a new generation of developer arrived and many of them (in my experience) barely use "low level" compile-to-machine-code languages. They often specialize in scripting languages or languages that require a framework. Some of these developers are now learning Go or Rust and for them the idea of shipping a single ELF binary that packages the entire app might be seen as a novelty or maybe even as an innovation.
- eeZah7Ux 6y ago> Dynamic linking is not quite as useful today a it was in the past Linux distributions need to be able to backport security fixes to shared libraries, test them and deliver updates to all users quickly. With static linking it becomes practically impossible.