As someone who just picked through the Zig docs (take this with a mountain of salt), Zig has a few things going for it:
spec is simple and closer to C in scope
modern language design, toolchain, and overall ergonomics
Go-like struct & interface system
1st-class C interoperability
Go foists co-routines on you and the runtime, and Rust has the borrow checker. Both of these things deeply impact language design, standard libraries, and the overall developer experience. So Zig might actually be a “more modern C” in many ways which makes it a contender. That said, it’s not a 1:1 comparsion since it lacks everything else that C++ does: you’d have to re-envision your software designs as something other than OOP if that’s what you’re used to.
As someone who just picked through the Zig docs (take this with a mountain of salt), Zig has a few things going for it:
Go foists co-routines on you and the runtime, and Rust has the borrow checker. Both of these things deeply impact language design, standard libraries, and the overall developer experience. So Zig might actually be a “more modern C” in many ways which makes it a contender. That said, it’s not a 1:1 comparsion since it lacks everything else that C++ does: you’d have to re-envision your software designs as something other than OOP if that’s what you’re used to.