|
|
|
|
|
by audunw
2016 days ago
|
|
> Zig is a lot more complex than C, but I think most of the language complexity came from filling in gaps rather than tacking things on. I think it's important to keep in mind that with C you might end up using a bunch of extenions, complex pre-processor macros or pragma magic to achieve essential things. C in itself is relatively simple, but using it in practice can end up becoming quite complex. Zig ends up being simpler in some ways by having less magic and special ways of achieving things. "printf" is very magical in most C compilers, but the equivalent in Zig is nothing particularly special from either the language or the compilers side. I think the only thing that truly adds complexity without being strictly necessary, is the async stuff. But you can argue that async IO is becoming a really essential thing for systems programming, and using it without explicit language suppport is a nightmare. |
|
1. https://github.com/bminor/glibc/blob/glibc-2.32/stdio-common...