

Zig
Open-source language prioritizing robustness, optimality, and clarity with built-in build system, direct C library compatibility, modern error handling, compile-time execution, generics, debug and release optimizations, cross-compiling, and strong package maintainer support.
Features
Properties
- Lightweight
- Optimal performance
Features
- Compile Time Code Execution
- Manual memory management
- Typesafe
- X86/x64 Compatibility
- ARM support
- Concurrent work
- Portable
- Command line interface
- Unit Testing
- Works at kernel level
- Low memory usage
- Systems programming
- Generics
- Error Logging
- Asynchronous
Tags
- Efficiency
- development
Zig News & Activities
Recent News
- Fla published news article about Zig
Zig 0.6.0 adds LLVM 10, RISC-V, new binaries, and Windows improvementsZig 0.6.0 upgrades its toolchain to LLVM 10, enhancing ARM, MIPS, and RISC-V support through bug fi...
Recent activities
Zig information
Featured in Lists
In no particular order.
What is Zig?
Feature Highlights
Small, simple language. Focus on debugging your application rather than debugging your knowledge of your programming language. Ships with a build system that obviates the need for a configure script or a makefile. In fact, existing C and C++ projects may choose to depend on Zig instead of e.g. cmake. A fresh take on error handling which makes writing correct code easier than writing buggy code. Debug mode optimizes for fast compilation time and crashing with a stack trace when undefined behavior would happen. Release mode produces heavily optimized code. What other projects call "Link Time Optimization" Zig does automatically. Compatible with C libraries with no wrapper necessary. Directly include C .h files and get access to the functions and symbols therein. Provides standard library which competes with the C standard library and is always compiled against statically in source form. Compile units do not depend on libc unless explicitly linked. Nullable type instead of null pointers. Tagged union type instead of raw unions. Generics so that one can write efficient data structures that work for any data type. No header files required. Top level declarations are entirely order-independent. Compile-time code execution. Compile-time reflection. Partial compile-time function evaluation with eliminates the need for a preprocessor or macros. The binaries produced by Zig have complete debugging information so you can, for example, use GDB to debug your software. Mark functions as tests and automatically run them with zig test. Friendly toward package maintainers. Reproducible build, bootstrapping process carefully documented. Issues filed by package maintainers are considered especially important. Cross-compiling is a primary use case. In addition to creating executables, creating a C library is a primary use case. You can export an auto-generated .h file. Standard library supports Operating System abstractions for: x86_64 linux




Comments and Reviews
Coming from C, Zig is a great language! It still somewhat feels like C, but with nice features from languages like Go or Rust sprinkled on.
Zig has a potential at rivalling C and Rust! Maybe even GO!