|
|
|
|
|
by petergeoghegan
1380 days ago
|
|
> C got various other things subtly right, too: manifestly enough to make up for its blatant failings. If you would displace C, it is much more important to retain its strengths than to fix its flaws. I agree. I wonder how feasible it is to separate the two, though. Not because it seems as if there is some unavoidable trade-off to be made (if that was it then somebody would have found a relatively crisp definition of said trade-off). I suspect that it's best understood as an emergent phenomenon. Consider the LINUX KERNEL MEMORY BARRIERS readme [1], which states very clearly: "Nevertheless, even this memory model should be viewed as the collective opinion of its maintainers rather than as an infallible oracle". And yet some people persist with the belief that such an Oracle must really be possible. Oracles are abstract concepts. C doesn't persist despite its contradictions. It persists because of them. I'm not claiming that this is good or bad. Just that it's the simplest explanation that I can think of. [1] https://www.kernel.org/doc/Documentation/memory-barriers.txt |
|