Is Zig the Long Awaited C Replacement?
Comparison with previous C contenders such as C++, D, Java, C#, Go, Rust and Swift
In many ways my whole programming career feels like a long wait for a replacement to C. 20 years ago I though that was C++. Over time I learned C++ was a complex monster that could never be tamed no matter how many thick best practices books I read.
I think Yossi Kreinin with his C++ Frequently Questioned Answers does a pretty good job of summarizing everything I have come to hate about C++.
So while being a professional C++ programmer I always had a look at the alternatives. The first hopeful alternative was D. D looked promising initially but upon closer inspection I decided that D was really just a cleaned up version of what was fundamentally a bad idea. One of the key problems with C++ its kitchen sink approach to language design. There is just too much in there.
While implementing a simple game engine in C and Lua, I came to realize that it was actually less mental overhead to keep these two languages in the head at the same time than C++. It brought me some renewed love for C. For all its limitations, C is a fairly simple language that gives you a lot of control.