I honestly don't really care how "unreliable" you think shared libraries are, using entirely static linking is how we get gigantic 500MB monoliths that waste disk space and RAM, don't integrate with the rest of the system properly due to mismatched library versions, and also don't get security patches from the system unless you manually update the binary itself.

Static linking may be "easier", but as programmers, it's our job to use the *right* solution, not just the easiest one.

Static linking may not matter on your development rig, with lots of spare disk and memory, but what about someone running your code on a netbook from 2009? Can your program even fit on their computer? Can they use multiple programs at the same time, or do they have to close everything else to free enough memory? What if they don't have fast Internet access, so they can't download the same security patch 50 times? These are all things you have to consider as a software engineer.

Dynamic linking might not be perfect, but it's the *right option to use*. Rust, Go, and other such languages need to start supporting it, unless they want to join the developers forcing people to buy newer, more powerful, more expensive computers every year. (If they can even afford it - if they can't, they're just stuck with barely being able to use their computer.)

Follow

@keith True of Rust and Go, but at the start of this thread I thought you were talking about containerized app distribution! e.g. Firefox's snaps, etc.

[keturn says, having just installed a whole set of flatpaks to try to build a rust desktop app.]

@keturn love flatpaks and snaps and AppImages, who doesn't enjoy completely broken and fragmented systems? every app should be its own operating system

@keturn I sure love when the statically linked version of Qt in an application I have to use is completely different from the one on my system so it doesn't inherit the theme I use (and for bonus greatness it also doesn't inherit my keyboard shortcut settings so I have to switch my brain into a separate mode every time I alt-tab into the app window)

Sign in to participate in the conversation
Toot.Cat

On the internet, everyone knows you're a cat — and that's totally okay.