2 ms·
A couple of things have changed though. LLVM exists, we are being flooded by parser frameworks that make that whole business much more pleasant than the lex/ya
by Verdex 8y ago
A couple of things have changed though. LLVM exists, we are being flooded by parser frameworks that make that whole business much more pleasant than the lex/yacc days, the llvm and Regehr blogs both spelled out some info on undefined behavior that previously people either didn't understand or refused to believe, the size of software engineering has grown to include many different niches, computer architectures have by and large grown more homogeneous (and where they're different you aren't going to be exploiting their power with lowest common denominator C), memory hierarchies aren't flat and it's becoming the determining factor in program speed, etc.
It's not obvious what needs to come next, which is the only reason that C is still here. Most likely several languages are needed to fully replace it. And our industry is starting to feel that out now.
D, Go, Rust, Jai, Zig, P, C# low level primitives. Things are changing. Even C++ seems to want to be a different language with some of it's latest developments.