Learning Zig
I’m starting my adventure into the world of Zig!
Why? .. Well if I am being honest my reasons are probably a bit odd/personal.
I’ve always wanted to learn a low level language and I like a good challenge.
I have programmed with Go here and there for various tools but I’ve always found it…
…Boring to read and write.
In my research I like Zig’s approach, mission, and various non-toxic communities.
Don’t get me wrong, I love Go but I wanted something a bit more exciting. Rust was certainly a brief consideration, but the more I heard about Zig, the more excited I was for it.
My Starting Point for Zig
Most of my background is with interpreted scripting languages.
As mentioned, I have written a fair amount of Go and C# but my core is a scripting/tool making person.
With that said, I try to be honest about knowing what I don’t know.
Concepts I feel good about:
- Data Types
- Functions/Methods
- Classes
- Control Flow
- Using External Libraries / Dependencies
- Interpreted vs. Compiled vs. Intermediate (C# (CIL/CLR) / Java (JVM))
Where I am a dummy:
- Zig Syntax
- Zig’s Build System
- Memory Management
- Lower level patterns
- Algorithms and when to use the right one
- I could be better with design patterns
I’m sure there are some I am missing in both categories.
I’ve been spoiled by the abstractions of higher level languages for too long!
Time to try and end that!
Even on the concepts I know, I tend to feel comfortable in knowing what I don’t know.
My intent is to stay humble as I understand the danger of “knowing enough to be dangerous”…
The Planned Methodology
- Starting from the beginning, even on refreshing of concepts I know from other languages
- Ziglings, Ziglings, and more Ziglings
- 1-2 Hours a day of Zig time
- Minimal use of LLMs (They can guide me but I do not want direct answers)
- Build simple tools (CLI initially) and expand from there
- Eventually build a very minimal game/game engine to better understand game engines.
Extra’s
I may from time to time stream the chaos of this adventure on Twitch. I would like to at a minimum curate some YouTube content if it helps others.
Let’s Do It!
Let’s Go!!! Follow along if you’re interested!
Post coming soon on Ziglings!
– Bobby