Zig by Example

185 points - today at 1:06 PM

Source

Comments

yrds96 today at 3:30 PM
This is outdated and AI generated.

If you want a good source of zig learning material interactive and by examples please check out ziglings: https://codeberg.org/ziglings

It's writen and tested by humans, which is essential for learning purposes. It's listed in the official zig website, by the way.

This project is always up to date to the latest zig release.

code-blooded today at 1:23 PM
I just looked this up yesterday so sharing some more up-to-date resources for those interested in Zig:

- Learning Zig by Karl Seguin: https://www.openmymind.net/learning_zig/

- https://zig.guide/

- Free project-based online book Introduction to Zig by Pedro Park: https://pedropark99.github.io/zig-book.

- Ziglings, almost working programs you need to fix: https://codeberg.org/ziglings/exercises

shaftoe444 today at 1:19 PM

  Examples target Zig 0.14.
Been some significant changes since then, not least to printing and formatting (see writergate).
jdw64 today at 2:52 PM
Is Zig just a trend, or will it become a solidly established language? After all, learning something is an investment of time. With Zig, it doesn't seem to have the same kind of industry pressure as Rust. There's talk in open source circles about AI-related issues, and on Hacker News people say good things about Zig. The allocator concept looks great. But there's also a possibility that it won't become mainstream, like the D language. I personally like D and think its compiler is beautiful, but being linguistically good is different from being industrially adopted. So should I learn Zig, or wait a bit longer?

For now, I have a basic grasp of C#, a little Python, a little C++, and a little TypeScript. I also know Java to some extent, but honestly, what I mostly build is CRUD app assembly. To go deeper, I think I need to dig into a systems language. But I'm not sure whether to invest in Zig or Rust.

b33j0r today at 3:59 PM
Do not use this, I recommend ziglings if anything besides what Loris would say: you have to read code.

The builtins don’t even compile in these examples. This is 2 years out of date at least.

pezgrande today at 1:48 PM
I like Zig but stopped learning it when I realized that all project based on it requires a specific version of the compiler to build.
synergy20 today at 5:55 PM
does zig still matter in the AI era? i was learning zig on and off and now have no motivation to learn it anymore.
tapirl today at 4:00 PM
Having quick viewed all the chapters, the examples are too simplistic to fully demonstrate Zig's syntax and semantics.
fallingmeat today at 1:42 PM
for those new, start with why: https://ziglang.org/learn/why_zig_rust_d_cpp
stephc_int13 today at 3:11 PM
Encapsulating arguments inside .{} seems superfluous and noisy.

I'm sure this can be rationalized in some way, to either simplify parsing or solve some rare ambiguity, but I just don't see it.

I know this is a minor thing and can be considered as nitpicky, and I expect some friction with syntax when learning a new language, but I just can't stand things I see as gratuitous. Same with the forced use of _ = foo(.{}); to avoid compiling errors...

mustaphah today at 4:43 PM
You would probably be better off reading learnxinyminutes.com/zig/
atique29 today at 4:24 PM
My gut feelings had me check the Zig version. "Examples target Zig 0.14." Ah there we go
noelwelsh today at 1:50 PM
Very brief. I'm not sure what this adds over reading the language documentation (which itself is not great). As it's entirely organized by language features it doesn't really talk about any larger scale design decisions, which is where I think language proficiency is really found.
fallingmeat today at 1:22 PM
lots of people into zig this morning apparently!
aselimov3 today at 1:44 PM
Is this much different than ziglings?
baalimago today at 2:27 PM
I'm missing the concurrency model.
Thanemate today at 4:59 PM
3 commits? Really? Why don't I just ask Claude or chatGPT instead?
porteghal today at 4:23 PM
just read it fast and easy! for a starter like me? amazing!
miroljub today at 1:51 PM
Looking for a resource (MCP, CLI, Skill, ...) that would improve Zig support in LLMs.

Currently, doing something with Zig as a target language would spend many more tokens and produce subpar results.