Member-only story

Is Zig the Long Awaited C Replacement?

Erik Engheim
14 min readNov 6, 2020

--

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.

Java and C# was in many ways just attempts at rehashing C++. They may have kept things more simple, but kind of ended up being too caught up in the Virtual Machine and object-oriented programming hype of the 90s. Not saying Java or C# are bad but not really my cup of tea. A lot of that may have more to do with the community around those languages which favor bloated IDEs and over-engineering.

The Return of C’s Simplicity

Go from Google was a welcome departure from the excesses C++, D, Java and C#. It took us right back to the starting point, to C. Go reimagined what C could have been if it did not venture down the C++ path. What we got back was a simple language that fixed many of the issues I always had with C.

But the story was not over. Closely following Go we got Rust. Initially I thought…

--

--

Erik Engheim
Erik Engheim

Written by Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

Write a response