|
| 1 | ++++ |
| 2 | +categories = ['Zig'] |
| 3 | +tags = ['Learning'] |
| 4 | +date = '2025-04-19T11:11:41-04:00' |
| 5 | +draft = false |
| 6 | +title = "We're Learning Zig!" |
| 7 | +author = 'Bobby' |
| 8 | +summary = "Learn Zig with me or follow my Zig adventure!" |
| 9 | +description = 'Every journey begins with a first step...' |
| 10 | ++++ |
| 11 | + |
| 12 | +## Learning Zig |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +I'm starting my adventure into the world of Zig! |
| 17 | + |
| 18 | +Why? .. Well if I am being honest my reasons are probably a bit odd/personal. |
| 19 | +I've always wanted to learn a low level language and I like a good challenge. |
| 20 | +I have programmed with Go here and there for various tools but I've always found it... |
| 21 | + ...Boring to read and write. |
| 22 | +In my research I like Zig's approach, mission, and various non-toxic communities. |
| 23 | + |
| 24 | +Don't get me wrong, I love Go but I wanted something a bit more exciting. |
| 25 | +Rust was certainly a brief consideration, but the more I heard about Zig, the more excited I was for it. |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## My Starting Point for Zig |
| 30 | + |
| 31 | +Most of my background is with interpreted scripting languages. |
| 32 | +As mentioned, I have written a fair amount of Go and C# but my core is a scripting/tool making person. |
| 33 | + |
| 34 | +With that said, I try to be honest about knowing what I don't know. |
| 35 | + |
| 36 | +Concepts I feel good about: |
| 37 | + |
| 38 | +- Data Types |
| 39 | +- Functions/Methods |
| 40 | +- Classes |
| 41 | +- Control Flow |
| 42 | +- Using External Libraries / Dependencies |
| 43 | +- Interpreted vs. Compiled vs. Intermediate (C# (CIL/CLR) / Java (JVM)) |
| 44 | + |
| 45 | +Where I am a dummy: |
| 46 | + |
| 47 | +- Zig Syntax |
| 48 | +- Zig's Build System |
| 49 | +- Memory Management |
| 50 | +- Lower level patterns |
| 51 | +- Algorithms and when to use the right one |
| 52 | +- I could be better with design patterns |
| 53 | + |
| 54 | +I'm sure there are some I am missing in both categories. |
| 55 | +I've been spoiled by the abstractions of higher level languages for too long! |
| 56 | +**Time to try and end that!** |
| 57 | + |
| 58 | + |
| 59 | +Even on the concepts I know, I tend to feel comfortable in knowing what I don't know. |
| 60 | +My intent is to stay humble as I understand the danger of _"knowing enough to be dangerous"_... |
| 61 | + |
| 62 | +## The Planned Methodology |
| 63 | + |
| 64 | +1. Starting from the beginning, even on refreshing of concepts I know from other languages |
| 65 | +2. Ziglings, Ziglings, and more Ziglings |
| 66 | +3. 1-2 Hours a day of Zig time |
| 67 | +4. Minimal use of LLMs _(They can guide me but I do not want direct answers)_ |
| 68 | +5. Build simple tools (CLI initially) and expand from there |
| 69 | +6. Eventually build a very minimal game/game engine to better understand game engines. |
| 70 | + |
| 71 | +## Extra's |
| 72 | + |
| 73 | +I **_may_** from time to time stream the chaos of this adventure on Twitch. |
| 74 | +I would like to at a minimum curate some YouTube content if it helps others. |
| 75 | + |
| 76 | +## Let's Do It! |
| 77 | + |
| 78 | +Let's Go!!! Follow along if you're interested! |
| 79 | +Post coming soon on [Ziglings](https://codeberg.org/ziglings/exercises/#ziglings)! |
| 80 | + |
| 81 | +-- Bobby |
0 commit comments