3 ms·
Zig is a general purpose language with no hidden control flow, powerful compile time metaprogramming, and easy cross-compilation and interop with C code. For m
by cturtle 5y ago
Zig is a general purpose language with no hidden control flow, powerful compile time metaprogramming, and easy cross-compilation and interop with C code.
For me it hits the sweet spot of fixing major problems in C, while staying small, consistent, and easy to fit the language inside my head unlike C++ or Rust. Also absolutely loving the compile time evaluation and type syntax.
- Calamitous 5y agoInteresting. I keep seeing marketing on “no hidden flow control”, but I’m curious what flow control is being hidden in other languages? Are they talking about exception handling?
- e12e 5y agoSee: https://ziglang.org/learn/why_zig_rust_d_cpp/#no-hidden-control-flow https://ziglang.org/learn/why_zig_rust_d_cpp/#no-hidden-cont... I'd venture a guess that exceptions might be the "least bad" here, and things like "a + b" resulting in "a. plus(b)" is considered worse. At any rate they seem to want jumps/calls to be visible/obvious.
- cturtle 5y agoOperator overloading, constructors, destructors, exceptions, etc. This page [0] is good for comparing Zig to other languages. And this [1] is a nice overview of the language. One reason I think "no hidden control flow" is used so much when talking about Zig, is because Zig wants code to be easy to read, including understanding what is happening behind the scenes. Zig also has no hidden allocations (a function call will not allocate unless given an allocator) which fits this model. [0]: https://ziglang.org/learn/why_zig_rust_d_cpp/ https://ziglang.org/learn/why_zig_rust_d_cpp/ [1]: https://ziglang.org/learn/overview/ https://ziglang.org/learn/overview/