Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Xiaomi’s Leica Edition flagship confirmed for new global release

    Apple iPad Pro unlikely to get major update for years despite stronger-than-ever competition

    This sleek all-black Citizen Eco-Drive dress watch is 54% off right now

    Facebook X (Twitter) Instagram
    • Artificial Intelligence
    • Business Technology
    • Cryptocurrency
    • Gadgets
    • Gaming
    • Health
    • Software and Apps
    • Technology
    Facebook X (Twitter) Instagram Pinterest Vimeo
    Tech AI Verse
    • Home
    • Artificial Intelligence

      Read the extended transcript: President Donald Trump interviewed by ‘NBC Nightly News’ anchor Tom Llamas

      February 6, 2026

      Stocks and bitcoin sink as investors dump software company shares

      February 4, 2026

      AI, crypto and Trump super PACs stash millions to spend on the midterms

      February 2, 2026

      To avoid accusations of AI cheating, college students are turning to AI

      January 29, 2026

      ChatGPT can embrace authoritarian ideas after just one prompt, researchers say

      January 24, 2026
    • Business

      The HDD brand that brought you the 1.8-inch, 2.5-inch, and 3.5-inch hard drives is now back with a $19 pocket-sized personal cloud for your smartphones

      February 12, 2026

      New VoidLink malware framework targets Linux cloud servers

      January 14, 2026

      Nvidia Rubin’s rack-scale encryption signals a turning point for enterprise AI security

      January 13, 2026

      How KPMG is redefining the future of SAP consulting on a global scale

      January 10, 2026

      Top 10 cloud computing stories of 2025

      December 22, 2025
    • Crypto

      Wall Street Moves Into Prediction Markets With Election-Contract ETF Filings

      February 18, 2026

      Tectonic to Host Inaugural Quantum Summit at ETHDenver 2026 Focused on Post-Quantum Cryptography Readiness for Web3

      February 18, 2026

      Ki Young Ju Says Bitcoin May Need to Hit $55K Before True Recovery Begins

      February 18, 2026

      MYX Finance Is Oversold For The First Time Ever, Yet No Relief In Sight

      February 18, 2026

      Everyone is Talking about the SaaSpocalypse, But Why Does it matter for Crypto?

      February 18, 2026
    • Technology

      Xiaomi’s Leica Edition flagship confirmed for new global release

      February 18, 2026

      Apple iPad Pro unlikely to get major update for years despite stronger-than-ever competition

      February 18, 2026

      This sleek all-black Citizen Eco-Drive dress watch is 54% off right now

      February 18, 2026

      Google’s new smartphone confirmed to launch globally with old Tensor G4 silicon on eve of release

      February 18, 2026

      Nintendo’s VR accessory for the Switch 2 is finally available

      February 18, 2026
    • Others
      • Gadgets
      • Gaming
      • Health
      • Software and Apps
    Check BMI
    Tech AI Verse
    You are at:Home»Technology»Ziglings: Learn Zig by fixing broken programs
    Technology

    Ziglings: Learn Zig by fixing broken programs

    TechAiVerseBy TechAiVerseJuly 7, 2025No Comments6 Mins Read5 Views
    Facebook Twitter Pinterest Telegram LinkedIn Tumblr Email Reddit
    Ziglings: Learn Zig by fixing broken programs
    Share
    Facebook Twitter LinkedIn Pinterest WhatsApp Email

    Ziglings: Learn Zig by fixing broken programs

    Ziglings

    Welcome to Ziglings! This project contains a series of tiny
    broken programs (and one nasty surprise). By fixing them, you’ll
    learn how to read and write Zig code.

    Those broken programs need your help! (You’ll also save the
    planet from evil aliens and help some friendly elephants stick
    together, which is very sweet of you.)

    This project was initiated by Dave Gauer and is directly inspired
    by the brilliant and fun rustlings project.
    Indirect inspiration comes from Ruby Koans and the Little LISPer/Little
    Schemer series of books.

    Intended Audience

    This will probably be difficult if you’ve never programmed
    before. But no specific programming experience is required. And
    in particular, you are not expected to have any prior
    experience with “systems programming” or a “systems” level
    language such as C.

    Each exercise is self-contained and self-explained. However,
    you’re encouraged to also check out these Zig language resources
    for more detail:

    • https://ziglang.org/learn/
    • https://ziglearn.org/
    • https://ziglang.org/documentation/master/
    • Zig in Depth! (video series)

    Also, the Zig community
    is incredibly friendly and helpful!

    Getting Started

    Install a development build of
    the Zig compiler. (See the “master” section of the downloads
    page.)

    Verify the installation and build number of zig like so:

    $ zig version
    0.15.0-dev.xxxx+xxxxxxxxx
    

    Clone this repository with Git:

    git clone https://codeberg.org/ziglings/exercises.git ziglings
    cd ziglings
    

    Then run zig build and follow the instructions to begin!

    zig build
    

    Note: The output of Ziglings is the unaltered output from the Zig
    compiler. Part of the purpose of Ziglings is to acclimate you to
    reading these.

    A Note About Versions

    Hint: To check out Ziglings for a stable release of Zig, you can use
    the appropriate tag.

    The Zig language is under very active development. In order to be
    current, Ziglings tracks development builds of the Zig
    compiler rather than versioned release builds. The last
    stable release was 0.14.1, but Ziglings needs a dev build with
    pre-release version “0.15.0” and a build number at least as high
    as that shown in the example version check above.

    It is likely that you’ll download a build which is greater than
    the minimum.

    Once you have a build of the Zig compiler that works with
    Ziglings, they’ll continue to work together. But keep in mind
    that if you update one, you may need to also update the other.

    Version Changes

    Version-0.14.0-dev.1573

    • 2024-09-16 zig 0.14.0-dev.1573 – introduction of labeled switch, see #21257
    • 2024-09-02 zig 0.14.0-dev.1409 – several changes in std.builtin, see #21225
    • 2024-08-04 zig 0.14.0-dev.1224 – several changes in build system, see #21115
    • 2024-08-04 zig 0.14.0-dev.839 – several changes in build system, see #20580, #20600
    • 2024-06-17 zig 0.14.0-dev.42 – changes in std.mem.split and tokenize – see #15579
    • 2024-05-29 zig 0.13.0-dev.339 – rework std.Progress – see #20059
    • 2024-03-21 zig 0.12.0-dev.3518 – change to @fieldParentPtr – see #19470
    • 2024-03-21 zig 0.12.0-dev.3397 – rename std.os to std.posix – see #5019
    • 2024-03-14 zig 0.12.0-dev.3302 – changes in std.fmt – floating-point formatting implementation – see #19229
    • 2024-02-05 zig 0.12.0-dev.2618 – changes in build system – from Step.zig_exe to Step.graph.zig_exe – see #18778
    • 2024-01-05 zig 0.12.0-dev.2043 – rename of std.Build.FileSource to std.Build.LazyPath – see #16353
    • 2023-10-24 zig 0.12.0-dev.1243 – changes in std.ChildProcess: renamed exec to run – see #5853
    • 2023-06-26 zig 0.11.0-dev.4246 – changes in compile step (now it can be null)
    • 2023-06-26 zig 0.11.0-dev.3853 – removal of destination type from all cast builtins
    • 2023-06-20 zig 0.11.0-dev.3747 – @enumToInt is now @intFromEnum and @intToFloat is now @floatFromInt
    • 2023-05-25 zig 0.11.0-dev.3295 – std.debug.TTY is now std.io.tty
    • 2023-04-30 zig 0.11.0-dev.2704 – use of the new std.Build.ExecutableOptions.link_libc field
    • 2023-04-12 zig 0.11.0-dev.2560 – changes in std.Build – remove run() and install()
    • 2023-04-07 zig 0.11.0-dev.2401 – fixes of the new build system – see #212
    • 2023-02-21 zig 0.11.0-dev.2157 – changes in build system – new: parallel processing of the build steps
    • 2023-02-21 zig 0.11.0-dev.1711 – changes in for loops – new: Multi-Object For-Loops + Struct-of-Arrays
    • 2023-02-12 zig 0.11.0-dev.1638 – changes in std.Build cache_root now returns a directory struct
    • 2023-02-04 zig 0.11.0-dev.1568 – changes in std.Build (combine std.build and std.build.Builder into std.Build)
    • 2023-01-14 zig 0.11.0-dev.1302 – changes in @addWithOverflow (now returns a tuple) and @typeInfo; temporary disabled async functionality
    • 2022-09-09 zig 0.10.0-dev.3978 – change in NativeTargetInfo.detect in build
    • 2022-09-06 zig 0.10.0-dev.3880 – Ex 074 correctly fails again: comptime array len
    • 2022-08-29 zig 0.10.0-dev.3685 – @typeName() output change, stage1 req. for async
    • 2022-07-31 zig 0.10.0-dev.3385 – std lib string fmt() option changes
    • 2022-03-19 zig 0.10.0-dev.1427 – method for getting sentinel of type changed
    • 2021-12-20 zig 0.9.0-dev.2025 – c_void is now anyopaque
    • 2021-06-14 zig 0.9.0-dev.137 – std.build.Id .Custom is now .custom
    • 2021-04-21 zig 0.8.0-dev.1983 – std.fmt.format() any format string required
    • 2021-02-12 zig 0.8.0-dev.1065 – std.fmt.format() s (string) format string required

    Advanced Usage

    It can be handy to check just a single exercise:

    zig build -Dn=19
    

    Or run all exercises, starting from a specific one:

    zig build -Ds=27
    

    Or let Ziglings pick an exercise for you:

    zig build -Drandom
    

    You can also run without checking for correctness:

    zig build -Dn=19 test
    

    Or skip the build system entirely and interact directly with the
    compiler if you’re into that sort of thing:

    zig run exercises/001_hello.zig
    

    Calling all wizards: To prepare an executable for debugging,
    install it to zig-cache/bin with:

    zig build -Dn=19 install
    

    To get a list of all possible options, run:

    zig build -Dn=19 -l
    
      install          Install 019_functions2.zig to prefix path
      uninstall        Uninstall 019_functions2.zig from prefix path
      test             Run 019_functions2.zig without checking output
      ...
    

    To reset the progress (have it run all the exercises that have already been completed):

    zig build -Dreset
    

    What’s Covered

    The primary goal for Ziglings is to cover the core Zig language.

    It would be nice to cover the Standard Library as well, but this
    is currently challenging because the stdlib is evolving even
    faster than the core language (and that’s saying something!).
    Not only would stdlib coverage change very rapidly, some
    exercises might even cease to be relevant entirely.

    Having said that, there are some stdlib features that are
    probably here to stay or are so important to understand that they
    are worth the extra effort to keep current.

    Conspicuously absent from Ziglings are a lot of string
    manipulation exercises. This is because Zig itself largely avoids
    dealing with strings. Hopefully there will be an obvious way to
    address this in the future. The Ziglings crew loves strings!

    Zig Core Language

    • Hello world (main needs to be public)
    • Importing standard library
    • Assignment
    • Arrays
    • Strings
    • If
    • While
    • For
    • Functions
    • Errors (error/try/catch/if-else-err)
    • Defer (and errdefer)
    • Switch
    • Unreachable
    • Enums
    • Structs
    • Pointers
    • Optionals
    • Struct methods
    • Slices
    • Many-item pointers
    • Unions
    • Numeric types (integers, floats)
    • Labelled blocks and loops
    • Loops as expressions
    • Builtins
    • Inline loops
    • Comptime
    • Sentinel termination
    • Quoted identifiers @””
    • Anonymous structs/tuples/lists
    • Async <--- ironically awaiting upstream Zig updates
    • Interfaces
    • Bit manipulation
    • Working with C
    • Opaque types (anyopaque)
    • Threading
    • Labeled switch
    • Vector operations (SIMD)

    Zig Standard Library

    • String formatting
    • Testing
    • Tokenization
    • File handling

    Contributing

    Contributions are very welcome! I’m writing this to teach myself
    and to create the learning resource I wished for. There will be
    tons of room for improvement:

    • Wording of explanations
    • Idiomatic usage of Zig
    • Additional exercises

    Please see CONTRIBUTING
    in this repo for the full details.

    Share. Facebook Twitter Pinterest LinkedIn Reddit WhatsApp Telegram Email
    Previous ArticleHigh Performance Image Sensor Processing Using FPGAs [pdf]
    Next Article Forget the hype — real AI agents solve bounded problems, not open-world fantasies
    TechAiVerse
    • Website

    Jonathan is a tech enthusiast and the mind behind Tech AI Verse. With a passion for artificial intelligence, consumer tech, and emerging innovations, he deliver clear, insightful content to keep readers informed. From cutting-edge gadgets to AI advancements and cryptocurrency trends, Jonathan breaks down complex topics to make technology accessible to all.

    Related Posts

    Xiaomi’s Leica Edition flagship confirmed for new global release

    February 18, 2026

    Apple iPad Pro unlikely to get major update for years despite stronger-than-ever competition

    February 18, 2026

    This sleek all-black Citizen Eco-Drive dress watch is 54% off right now

    February 18, 2026
    Leave A Reply Cancel Reply

    Top Posts

    Ping, You’ve Got Whale: AI detection system alerts ships of whales in their path

    April 22, 2025684 Views

    Lumo vs. Duck AI: Which AI is Better for Your Privacy?

    July 31, 2025272 Views

    6.7 Cummins Lifter Failure: What Years Are Affected (And Possible Fixes)

    April 14, 2025156 Views

    6 Best MagSafe Phone Grips (2025), Tested and Reviewed

    April 6, 2025116 Views
    Don't Miss
    Technology February 18, 2026

    Xiaomi’s Leica Edition flagship confirmed for new global release

    Xiaomi’s Leica Edition flagship confirmed for new global release – NotebookCheck.net News ⓘ XiaomiThe Leica…

    Apple iPad Pro unlikely to get major update for years despite stronger-than-ever competition

    This sleek all-black Citizen Eco-Drive dress watch is 54% off right now

    Google’s new smartphone confirmed to launch globally with old Tensor G4 silicon on eve of release

    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    About Us
    About Us

    Welcome to Tech AI Verse, your go-to destination for everything technology! We bring you the latest news, trends, and insights from the ever-evolving world of tech. Our coverage spans across global technology industry updates, artificial intelligence advancements, machine learning ethics, and automation innovations. Stay connected with us as we explore the limitless possibilities of technology!

    Facebook X (Twitter) Pinterest YouTube WhatsApp
    Our Picks

    Xiaomi’s Leica Edition flagship confirmed for new global release

    February 18, 20264 Views

    Apple iPad Pro unlikely to get major update for years despite stronger-than-ever competition

    February 18, 20264 Views

    This sleek all-black Citizen Eco-Drive dress watch is 54% off right now

    February 18, 20263 Views
    Most Popular

    7 Best Kids Bikes (2025): Mountain, Balance, Pedal, Coaster

    March 13, 20250 Views

    VTOMAN FlashSpeed 1500: Plenty Of Power For All Your Gear

    March 13, 20250 Views

    This new Roomba finally solves the big problem I have with robot vacuums

    March 13, 20250 Views
    © 2026 TechAiVerse. Designed by Divya Tech.
    • Home
    • About Us
    • Contact Us
    • Privacy Policy
    • Terms & Conditions

    Type above and press Enter to search. Press Esc to cancel.