|
I've been trying to understand what Zig place is in the world so I can learn more about it. I like the idea of simplicity in programming languages but, other than that and since there's Go already, what is the proposition here? In particular: - LLVM is not enough, let's write our own compiler. - Interfaces are an overhead, use comptime instead or roll your own vtables. - In a world where "memory unsafe" languages are under attack... yeah, we don't care about that. I'm not trolling, this are serious questions from afar that I would love to figure out before investing time with Zig. |
[Edit: expanding]
For instance, completely platform-independent cross compilation is something Go popularized, but Zig really nailed. (In fact, if you use cgo, the generally accepted method for Go cross-compilation is to use Zig as the C compiler!)
Another interesting thing about Zig is that it happily compiles C code, but brings more modern package management. Loris Cro has described how it would be quite reasonable (and pleasant) to maintain C code using Zig: https://kristoff.it/blog/maintain-it-with-zig/