# An open, technical and introductory book for the Zig programming language

**URL:** <https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411>\
**Category:** Showcase\
**Tags:** language, learning, build-system\
**Created:** [October 17, 2024, 2:07pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411 "2024-10-17T14:07:27Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![pedropark99](https://ziggit.dev/user_avatar/ziggit.dev/pedropark99/32/3294_2.png) [@pedropark99](https://ziggit.dev/u/pedropark99)\
**Post date:** [October 17, 2024, 2:07pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/1 "2024-10-17T14:07:27Z")

</div>

I’m thrilled to announce the launch of the first edition of the book “Introduction to Zig: a project-based book” 🥳🎉🎉🎉. This is an open source, technical and introductory book for the Zig programming language.

This book is designed for both beginners and experienced developers. It explores the exciting world of Zig through small and simple projects (in a similar style to the famous “Python Crash Course” book from Eric Matthes). Some of these projects are: a Base64 encoder/decoder, a HTTP Server and an image filter.

Link to the project: [GitHub - pedropark99/zig-book: An open, technical and introductory book for the Zig programming language](https://github.com/pedropark99/zig-book)

This book is open for anyone that wants to read it. But, if you like this project, and you want to support it, you can buy an eBook or a physical copy of the book on Amazon: [Amazon.com: Introduction to Zig: a project-based book eBook : Duarte Faria, Pedro: Kindle Store](https://www.amazon.com/dp/B0DJYMDRLP)

---

<div class="post-metadata">

**Author:** ![pierrelgol](https://ziggit.dev/user_avatar/ziggit.dev/pierrelgol/32/10233_2.png) [@pierrelgol](https://ziggit.dev/u/pierrelgol)\
**Post date:** [October 17, 2024, 8:17pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/2 "2024-10-17T20:17:40Z")

</div>

Just bought a copy thanks for your work 🙂 can’t wait to receive it.

---

<div class="post-metadata">

**Author:** ![dee0xeed](https://ziggit.dev/letter_avatar_proxy/v4/letter/d/3ab097/32.png) [@dee0xeed](https://ziggit.dev/u/dee0xeed)\
**Post date:** [October 19, 2024, 8:23am UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/3 "2024-10-19T08:23:29Z")

</div>

added to [the list](https://ziggit.dev/t/zig-learning-resources/3160)

---

<div class="post-metadata">

**Author:** ![pierrelgol](https://ziggit.dev/user_avatar/ziggit.dev/pierrelgol/32/10233_2.png) [@pierrelgol](https://ziggit.dev/u/pierrelgol)\
**Post date:** [October 19, 2024, 5:58pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/4 "2024-10-19T17:58:14Z")

</div>

Just received your book, it’s a great read, and I’m very happy with the quality, everything is well explained, it’s a fantastic resource for quickly getting a reference about something.

---

<div class="post-metadata">

**Author:** ![dee0xeed](https://ziggit.dev/letter_avatar_proxy/v4/letter/d/3ab097/32.png) [@dee0xeed](https://ziggit.dev/u/dee0xeed)\
**Post date:** [October 20, 2024, 9:25am UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/5 "2024-10-20T09:25:27Z")

</div>

In “12.2.1 A generic function” section:

> Without a generic function, I would have to write a different `max()` function for each one of the data types that I wanted to use. This generic function provides a very useful shortcut for us

I just had a think - maybe, it should be noted here that Zig compiler actually generates different functions for each `T` that was used in a program with `max()`. In other words, `comptime T: type` in a function signature is a way of automatic boilerplate code generation.

---

<div class="post-metadata">

**Author:** ![maatthc](https://ziggit.dev/user_avatar/ziggit.dev/maatthc/32/3532_2.png) [@maatthc](https://ziggit.dev/u/maatthc)\
**Post date:** [October 23, 2024, 10:56am UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/6 "2024-10-23T10:56:54Z")

</div>

Federal University of Ouro Preto - Brazil!  
🫠

---

<div class="post-metadata">

**Author:** ![charlie](https://ziggit.dev/user_avatar/ziggit.dev/charlie/32/1930_2.png) [@charlie](https://ziggit.dev/u/charlie)\
**Post date:** [October 25, 2024, 6:26pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/7 "2024-10-25T18:26:24Z")

</div>

This is fantastic, thank you!

---

<div class="post-metadata">

**Author:** ![deckarep](https://ziggit.dev/user_avatar/ziggit.dev/deckarep/32/2323_2.png) [@deckarep](https://ziggit.dev/u/deckarep)\
**Post date:** [October 30, 2024, 4:49pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/8 "2024-10-30T16:49:34Z")

</div>

I love books that I can hold in my hand. This allows me to step away from the screen, and study Zig in a different way.

Just ordered the book yesterday, happy to support your efforts!

---

<div class="post-metadata">

**Author:** ![kowfm](https://ziggit.dev/user_avatar/ziggit.dev/kowfm/32/4544_2.png) [@kowfm](https://ziggit.dev/u/kowfm)\
**Post date:** [February 13, 2025, 3:10am UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/9 "2025-02-13T03:10:57Z")

</div>

I really like your book. I picked up a copy a week ago and I’m almost finished. I started to rewrite my programming language in Zig, and I actually got it figured out because of your book.

I’m very appreciative of the text that clearly explains things, and even takes a little extra time to cover topics fully.

Thanks.

---

<div class="post-metadata">

**Author:** ![jcattron](https://ziggit.dev/letter_avatar_proxy/v4/letter/j/779978/32.png) [@jcattron](https://ziggit.dev/u/jcattron)\
**Post date:** [February 13, 2025, 3:57am UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/10 "2025-02-13T03:57:01Z")

</div>

I read your book “cover to cover” on the web when I was getting started with zig a few months ago and bought a hard copy on amazon a week or two ago just to have it on my shelf and of course to help you out. Great work man, and thanks for helping expand the Zig community!

---

<div class="post-metadata">

**Author:** ![jeeves](https://ziggit.dev/user_avatar/ziggit.dev/jeeves/32/4585_2.png) [@jeeves](https://ziggit.dev/u/jeeves)\
**Post date:** [February 13, 2025, 10:21pm UTC](https://ziggit.dev/t/an-open-technical-and-introductory-book-for-the-zig-programming-language/6411/11 "2025-02-13T22:21:08Z")

</div>

I’m new to Zig, just read your book. It helped me to get a better understanding of how to write Zig code, and I’m sure I’ll read it again. Thanks!
