C (programming language)
C is a general-purpose computer programming language. C is one of the most widely used programming languages of all time.
Zig is an open-source programming language designed for robustness, optimality, and clarity.
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 orderindependent.compiletime code execution. compiletime reflection.partial compiletime 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.crosscompiling is a primary use case.in addition to creating executables, creating a c library is a primary use case. you can export an autogenerated .h file.standard library supports operating system abstractions for:x86_64 linux
development programming-language