2 ms·
So much right in that. In the old days we had compilers linkers and loaders. They all did the wrong thing. Compilers did text translation to semantics and gen
by JoeAltmaier 4y ago
So much right in that.
In the old days we had compilers linkers and loaders. They all did the wrong thing. Compilers did text translation to semantics and generated code. The linker combined code from several sources and produced a loadable image. The loader checked for compatibility and relocated an instance to an address.
Instead, the compiler should have stopped at semantics. The linker should combine semantic modules into an abstract execution model. The loader should generate code for the target machine at the target offset.
We have some of that in different paradigms today. But still we transmit far too much of lame abstraction in large wads, with all the important semantics erased.
Sigh.
- 082349872349872 4y agoOr, one step up: The linker should combine semantic modules into an abstract set of cloud-deployable images. The loader should instantiate those images in the target cloud, with all their edges configured so the graph nodes connect properly. (physically connecting logical graph nodes having been exactly why the linker/loader were messing with offset relocation on single machines)