4 ms·
The reason software has to be recompiled so often on Linux is not to do with ABIs vs text based protocols. It's because the act of compiling on Linux is used by
by origin_path 4y ago
The reason software has to be recompiled so often on Linux is not to do with ABIs vs text based protocols. It's because the act of compiling on Linux is used by the toolchain developers as a signal to automatically 'upgrade' the resultant binaries in various ways. In other words, the tooling and frameworks don't place any cultural value on making it easy to target older versions of the OS from newer versions.
There's no particular reason it must be so. The Java compiler has a --release flag that lets you say "I want to run the results on Java N" and then the compiler won't use any bytecode or library features that were added after that time, even if it otherwise would automatically and implicitly do so. The result is still binary and non-text based, but there's nothing magic about it. That sort of feature simply takes work that the Linux community is culturally opposed to doing thanks to the fully centralized model.