Intro

Some readers might recognize me as the author of various "The Little $TECH Book" and wonder why this isn't called "The Little Zig Book". The truth is I'm not sure Zig fits in a "The Little" format. Part of the challenge is that Zig's complexity and learning curve will vary greatly depending on your own background and experience. If you're a seasoned C or C++ programmer, then a concise summary of the language is probably fine, but then, you'll probably rely on the Zig Language Reference.

While we've covered a lot in this guide, there's still a large amount of content we haven't touched. I don't want that to discourage or overwhelm you. All languages are multi-layered and you now have a foundation, and a reference, to start and begin your mastery. Frankly, the parts that I didn't cover I simply don't understand well enough to explain. That hasn't stopped me from using and building meaningful things in Zig, like a popular http server library.

I do want to highlight one thing that was completely skipped over. It's probably something you already know, but Zig works particularly well with C code. Because the ecosystem is still young, and the standard library small, you might run into cases where using a C library is your best option. For example, there's no regular expression module in Zig's standard library, and one reasonable option would be to use a C library. I've written Zig libraries for SQLite and DuckDB, and it was straightforward. If you've mostly followed all that's in this guide, you shouldn't have any problems.

I hope this resource helps and I hope you have fun programming.

Thank you to all the people who have contributed fixes and suggestion to this series. In particular, thanks to Gonzalo Diethelm for providing a thorough edit.

Intro