Recommended books (or other resources) for becoming a Zig contributor?

Any recommended books (or other resources) for someone who wants to learn to become a Zig contributor one day?

I’m a web developer by trade (Python, TypeScript). In the past I’ve also done iOS development, desktop app development, game development, and taught object-oriented programming: Objective-C, Java, C++ (but this was all a long time ago: it’s been mostly Python for the past couple of decades).

Thanks!

I’ve always been fascinated by programming languages and how they might be designed and implemented. But I’ve never worked on one before. In fact I’ve never really done any low-level programming (C, assembly, etc).

I’m aware of Crafting Interpreters: thought I could work through that and do the challenges in Zig. Writing a C Compiler by Nora Sandler has also been recommended to me. Also Computer Systems: A Programmer’s Perspective, and Linkers and Loaders. But I’m not really in a position to assess the relevance or usefulness of these for contributing to Zig.

1 Like

Here are some links to resources about how the compiler works (or at least used to work). How relevant they are probably depends on how you want the contribute to zig.

1 Like

Thanks! Any thoughts on the books: Writing a C Compiler, Crafting Interpreters, etc?

Zig’s compiler is written in Zig. Be familiar with C compiler or if you have done any other compilers or interpreters, that would certainly be helpful, but I think one of the most important thing is being familiar with writting Zig programs.

1 Like

Thanks! I think I’ll do Writing a C Compiler (Writing a C Compiler) and Crafting Interpreters and do the exercises in Zig. That should do it!

For compilers in general, highly recommend Aiken’s Course (3 links to pick your preferred mixture of bitrot and enshittification):

I wouldn’t say it was the course that defined my career in compiler space, but it definitely contributed more than all other stuff.

For Zig in particular, I suggest reading Zig – Mitchell Hashimoto to get familiar with the big picture, and then just reading the source of the compiler?

5 Likes

I cant say i recommend it because it was on my bookmarks list to check out later. But you can at least take a look.

1 Like

This is great, thanks! Good to have some video content to mix in with the books. Sometimes you feel like just sitting back and watching a video

1 Like

I’d say 90% of the value of that course is actually the practice: GitHub - matklad/hscool · GitHub :wink:

1 Like