3 ms·
when someone writes a program and offers it for other people to execute, it should generally be expected to work the size of a program binary is a distant seco
by preseinger 4y ago
when someone writes a program and offers it for other people to execute, it should generally be expected to work
the size of a program binary is a distant secondary concern to this main goal
static compilation more or less solves this primary requirement, at the cost of an increase to binary size that is statistically zero in the context of any modern computer, outside of maybe embedded (read: niche) use cases
there is no meaningful difference between a 1MB binary or a 10MB binary or a 100MB binary, disks are big and memory is cheap
the optimization of dynamic linking was based on costs of computation, and a security model of system administration, which are no longer valid
there's no reason to be offended by this, just update your models of reality and move on
- rektide 4y agoI never had a problem before. The people saying we need this for convenience felt detached & wrong from the start. It's popular to be cynical & conservative, to disbelieve. That has won the day. It doesn't do anything to convince me it was a good choice or actually helpful, that we were right to just give up.
- preseinger 4y ago"wrong" or "a good choice" or "actually helpful" are not objective measures, they are judged by a specific observer, what's wrong for you can be right for someone else i won't try to refute your personal experience, but i'll observe it's relevant in this discussion only to the extent that your individual context is representative of consumers of this kind of software in general that static linking provides a more reliable end-user experience vs. dynamic linking is hopefully not controversial, the point about security updates is true and important but very infrequent compared to new installations
- cozzyd 4y agoWait until you use a single board computer with a 4GB emmc OS disk. And don't forget about bandwidth...
- preseinger 4y agoi have a few devices like that around, but the thing is that the software i put on them is basically unrelated to the software that's being discussed here definitely i am not using buck or bazel or whatever to build binaries that go on those little sticks
- cozzyd 4y agosure, but people are suggesting staticly linking everything and many modern languages don't really support dynamic linking.