3 ms·
I'm not sure - first of all, turning everything to a text-based protocol might be something can be fixed - it's not impossible to amend the specification to al
by torginus 4y ago
I'm not sure - first of all, turning everything to a text-based protocol might be something can be fixed - it's not impossible to amend the specification to allow for binary protocols, or - if the caller and callee are on the same machine - literal system calls.
But the important thing to not is this fixes the biggest issue of modern Linux - the lack of stable API/ABI - that requires everything to be compiled for every distro.
It also naturally documents each program's interface allowing them to be easily rewritten/mocked/logged/debugged etc.
- origin_path 4y agoThe 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.