I've currently involved with a system, written in C, which has been going for 30 years: GAP - https://www.gap-system.org While I write a lot of C, I immediately disagree with the idea that C has a "simple (yet expressive) abstract machine model". Every so often we find a bug which has been present for over a decade, because some new compiler has added a (perfectly legal by the standard) optimisation which breaks some…
Ugh, just venting, but it helps to know that there are others out there suffering through this :)