3 ms·
Deployability really should be king. I hinted at this in my other post, but I don't think quite enough people think about this. Static linking makes your deplo
by busterarm 7y ago
Deployability really should be king. I hinted at this in my other post, but I don't think quite enough people think about this.
Static linking makes your deployability worries go away. That's not to say that isn't at least possible with dynamic linking, but the complexity and gymnastics will sink you. Everyone gets bit by it eventually.
- kinghajj 7y agoEh, even with Rust's static linking, that's not a guarantee that there will be no worries with deployment. Most SSL libraries in Rust, for instance, currently link to (Open/Libre)SSL dynamically. So you often can't take a Rust binary compiled on a distro with one version of the SSL library, to another distro with a different version.
- jen20 7y agoMuch of the ecosystem seems to be trending towards using rustls though, where this is of no concern.
- busterarm 7y agoSo you're saying that static linking isn't a guarantee, because the build was polluted with dynamic linking. Isn't that furthering my point?
- folmar 7y agoActually openssl is pretty compatible between versions, usually not an issue in the real world.
- busterarm 7y agoJust to drive the point home. If all of your engineers die in a fiery plane crash en-route to the company offsite, or your datacenter is wiped out in a flood, at least you have your statically linked binary that can run on commodity servers somewhere. You have the peace of mind of knowing that your code as built should be able to run somewhere else in its current state without modification. You don't have to worry about the package availability of something that may have been around when you shipped your servers but may not be when you go to ship them again, or something that only coincidentally worked because your systems were installed via a certain upgrade path that's no longer reproducible. It's a simple matter of business risk and minimizing surprises.
- saagarjha 7y ago> Deployability really should be king. Not everyone values deployability as much as you (or employers, I suspect) do. On my personal computer I care about getting security patches and disk usage.
- busterarm 7y agoLots of people don't measure risk very well and get hit by black swan events. Over 65% of startups have less than 6 months of cash reserves right now and 74% have been laying off staff. It turns out the majority of people are poor long-term planners. I personally don't care about how you manage your personal workstation, but you're not who most of us are building for. Most of us aren't building tools to support you. We're writing a big ecosystem for everyone to collaborate. In a professional setting, problems with how people manage their computers aren't acceptable. Any decently-sized company will get rid of such a problem quickly. In smaller companies I've seen people get fired over poor management of their workstation's environment.
- eximius 7y agoStatic linking is more ergonomic for developers. Dynamic linking is a better use of user resources, which is sort of ergonomics. To say one metric should be king without context is missing the point.