Zig is an imperative, general-purpose, statically typed, compiled system programming language designed by Andrew Kelley. The language is designed for "robustness, optimality and maintainability", supporting compile-time generics, reflection and evaluation, cross-compilation, and manual memory management. A major goal of the language is to improve upon the C language, while also taking inspiration from Rust, among others. Zig has many features for low-level programming, notably packed structs (structs without padding between fields), arbitrary-width integers and multiple pointer types. Zig is not just a new language: it also includes a C/C++ compiler, and can be used with either or both languages. Since version 0.10 the (new default) Zig compiler is written in Zig, i.e., it is a self-hosting compiler, and that is a major new feature of that release (the older legacy bootstrapping compiler, written in C++, is still an option but will not be in 0.11). The default backend (i.e. the optimizer) is still LLVM (now version 15, legacy uses version 13), and LLVM is written in C++. Zig (i.e. the compiler, not generated code from it) with LLVM is 169 MiB, vs without LLVM 4.4 MiB. When compiling with the new Zig compiler much less memory is used (the older, now legacy, compiler uses 3.5x more memory), and it compiles a bit faster. Faster executable code is usually complied with the new compiler (i.e. its LLVM code generation is better), and it fixes many bugs, but there are also improvements for the older legacy compiler in version 0.10. The self-hosted linker is tightly coupled with the self-hosted compiler. The new version also adds some experimental (tier-3) support for AMD GPUs (there's also some lesser support for Nvidia GPUs and for PlayStation 4 and 5). The older bootstrapping ("stage1") compiler is written in Zig and C++, using LLVM 13 as a back-end, supporting many of its native targets. The compiler is free and open-source software released under an MIT License. The Zig compiler exposes the ability to compile C and C++ similarly to Clang with the commands "zig cc" and "zig c++", providing many headers including libc and libcxx for many different platforms, allowing Zig's cc and c++ sub-commands to act as cross compilers out of the box. Plus the operating systems (mostly desktop ones) officially supported (and documented), (minimal) applications can and have been made for Android (with Android NDK, and programming for iOS also possible). Zig doesn't have its