| 1. It's typically at least as fast as C, unlike C++/Rust 2. You can do type introspection (and switching) during compile-time, and it's not just some stupid TokenStream transformer, you really have type information available, you can do if/else on the presence of methods, etc. 3. There are no generics, but your functions can accept anytype, which is still type-safe. See https://github.com/ziglang/zig/blob/9c05810be60756e07bd7fee0... and note the return type is "computed" from the type of the input. 4. Types are first-class values (during comptime), so any function can take or return a new type, this is how you get generic types, without (syntax/checking) support for generics. 5. You can easily call anything which does not allocate in these comptime blocks. 6. There's @compileError which you can use for custom type assertions -> therefore, you have programmable type-system. 7. It's super-easy to call C from Zig. 8. This is subjective: You don't feel bad about using pointers. Linked data structures are fine. |
The typical urban myth that never comes with profiler proofs.