3 ms·
I agree. But I also think that the following two language features are important: 1. Polymorphism 2. Specialization of code and data structures Both aspects o
by choeger 5y ago
I agree. But I also think that the following two language features are important:
1. Polymorphism
2. Specialization of code and data structures
Both aspects only go well together with global compilation which basically enforces static linking, unless you either substantially improve the ABI or introduce some artificial language limits regarding composition.
Personally, I think that it should be possible to extend the C-ABI with some meaningful form of specialization: You effectively only need offsets and sizes in order to specialize code. But I don't have a prototype to explore this idea further.
- benbenolson 5y agoThis is hilarious: someone comments about a real problem that requires a practical solution in a programming language, and someone invariably rushes to add their subset of “nice to have” language features.
- naasking 5y agoWell motivated choices though. Polymorphism reduces lines of code, which are correlated with bug count. Reliability is essential for critical system software. Specialization eliminates nearly all overhead of polymorphism so there's no disincentive against using it.