Zura a low-level compiled alternative to C and C++
Why? | Goals | Status | Getting Started | Usage | Join Us
Zura is a statically typed, compiled systems programming language inspired by C and Go. It is designed to offer simplicity, safety, and high performance while remaining close to the metal. Zura is still in early development and not yet ready for production use.
documentation for usage details and language design notes.
Modern low-level programming often comes with trade-offs between safety, simplicity, and performance. C and C++ are powerful, but notoriously difficult to master safely. Zura follows the principle of “Simple yet powerful.” It is designed to retain the low-level control of C while reducing complexity
Zura aims to:
- Provide a safer and more modern alternative to C.
- Keep compilation fast and output highly performant.
- Reduce boilerplate while preserving control over memory and hardware.
- Minimal & Explicit Syntax – Avoid hidden control flow or magic.
- Fast Compilation – Prioritize developer feedback cycles.
- Zero-Cost Abstractions – Avoid performance penalties for convenience.
- Manual Memory Control – Support fine-grained memory management.
- Toolchain Simplicity – No complex build systems required.
Zura is in the early experimental phase. There is no stable compiler or runtime yet.
Current progress:
- Core language strategy defined
- Project structure, governance, and evolution process in place
- Basic compilation pipeline in progress
- Standard library and tooling ecosystem still under design
This project explores the possibility of building a true C/C++ successor that could gain real-world adoption.
You’ll need the following tools installed:
sudo apt-get install make cmake gcc valgrind
sudo zypper install make cmake gcc valgrind
sudo dnf install make gcc cmake valgrind
sudo pacman -S make cmake gcc valgrind
To build the Zura compiler from source, run:
make BUILD=release -j$(nproc)
This will compile the Zura compiler and place the executable in the release/
directory.
You can also run make BUILD=debug -j$(nproc)
to build a debug version of the compiler.
Also the -j$(nproc)
flag will speed up the build process by using all available CPU cores.
Or you can download the latest release from here and add either the zura.exe
(For Windows) or zura
(For Linux) executable to your path.
./zura build <filepath> -name <binary>
if you wish to save the assembly code to a file, use the -save
flag:
./zura build <filepath> -name <binary> -save
Then run the binary with:
./<binary>