# **⚡ Booth: Zig (2016)**

* **Creator:** Andrew Kelley  
* **Design Philosophy:** A robust, minimalist replacement for C. Zig has no hidden control flow, no hidden allocations, no preprocessors, and builds code safety directly into system architectures while retaining complete hardware accessibility.  
* **Key Innovations:** comptime (running ordinary Zig code at compile time), explicit custom allocation parameters, and built-in error union type systems.

## **📐 The Theory of Zero Implicit Allocation**

Zig completely rejects hidden memory management allocations. Rather than hardcoding the memory manager (e.g. heap vs stack), every function requiring dynamic allocations accepts an explicit Allocator interface argument:

![][image1]This design guarantee prevents memory fragmentation patterns in critical, safe operating architectures like device driver modules or real-time simulation targets.

## **🚀 Hello, World\!**

const std \= @import("std");

pub fn main() \!void {  
    const stdout \= std.io.getStdOut().writer();  
    try stdout.print("Hello, World\!\\n", .{});  
}

## **🎨 Showpiece: Compile-Time Execution & Allocation Control**

This file demonstrates compile-time processing via comptime, custom block checks, and strict manual allocations.

const std \= @import("std");

// Computes a Fibonacci sequence value at COMPILE TIME\!  
fn compileTimeFibonacci(comptime n: u32) u32 {  
    if (n \== 0\) return 0;  
    if (n \== 1\) return 1;  
    return compileTimeFibonacci(n \- 1\) \+ compileTimeFibonacci(n \- 2);  
}

pub fn main() \!void {  
    // 1\. Compile-Time Evaluation (Executed entirely by the compiler)  
    const comptime\_result \= comptime compileTimeFibonacci(10);  
    std.debug.print("\[Comptime Engine\] Fib(10) computed during compilation: {}\\n", .{comptime\_result});

    // 2\. Explicit Safe Allocation (No hidden allocations)  
    var gpa \= std.heap.GeneralPurposeAllocator(.{}){};  
    defer \_ \= gpa.deinit(); // Automatically check for memory leaks on exit  
    const allocator \= gpa.allocator();

    // Dynamically allocate space for 3 integers  
    const dynamic\_array \= try allocator.alloc(u32, 3);  
    defer allocator.free(dynamic\_array); // Manual cleanup required\!

    dynamic\_array\[0\] \= 10;  
    dynamic\_array\[1\] \= 20;  
    dynamic\_array\[2\] \= 30;

    std.debug.print("\[Heap\] Allocated array on heap safely: \[{}, {}, {}\]\\n", .{  
        dynamic\_array\[0\],  
        dynamic\_array\[1\],  
        dynamic\_array\[2\],  
    });  
}  


[image1]: <data:image/png;base64,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>