Кто там говорил, что языков программирования слишком много?
Zig is a system programming language which prioritizes optimality, safety, and readability.
- Import .h files and directly use C types, variables, and functions.
- The Zig Standard Library does not depend on libc.
- Maybe type instead of null pointers.
- A fresh take on error handling that resembles what well-written C error handling looks like, minus the boilerplate and verbosity.
- Order independent top level declarations.
- Debug mode optimizes for fast compilation time and crashing when undefined behavior would happen.
- Release mode produces heavily optimized code. What other projects call «Link Time Optimization» Zig does automatically.
- Friendly toward package maintainers. Reproducible build, bootstrapping process carefully documented. Issues filed by package maintainers are considered especially important.
- Easy cross-compiling.
- There is no preprocessor. Instead Zig has a few carefully designed features that provide a way to accomplish things you might do with a preprocessor.
- Generic data structures and functions.