Binary compatibility is necessarily at odds with the “recompile the world” philosophy. This global view has some advantages, eg. performance can be improved system wide LTO, calling conventions changes, security with hardening options, etc.
The local view, where a program with no knowledge of its runtime environment could appear at any time to a runtime environment that similarly knows nothing about a program, loses all those advantages and costs added constraints but gains.. the ability to run those programs.
The article argues that the balance should be shifted, to their (eventual) benefit, sure. I wonder how long until that would take.
I wonder if there’s more “pay for play” path. I guess that’s containers. Or maybe what they argue for but bundled software could stay the way it is now. Further bifurcation seems bad, adding more code paths to test etc.
Binary compatibility is necessarily at odds with the “recompile the world” philosophy. This global view has some advantages, eg. performance can be improved system wide LTO, calling conventions changes, security with hardening options, etc.
The local view, where a program with no knowledge of its runtime environment could appear at any time to a runtime environment that similarly knows nothing about a program, loses all those advantages and costs added constraints but gains.. the ability to run those programs.
The article argues that the balance should be shifted, to their (eventual) benefit, sure. I wonder how long until that would take.
I wonder if there’s more “pay for play” path. I guess that’s containers. Or maybe what they argue for but bundled software could stay the way it is now. Further bifurcation seems bad, adding more code paths to test etc.