ziglings
dstep
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ziglings
-
Roadmap to master zig
Master syntax - language possibilities, so that you can read code. Ziglings (or github) does great job teaching it!
-
Problems of C, and how Zig addresses them
I am interested to learn, how Traits in Rust and Interfaces in Go behave differently from this concept.
[1] https://github.com/ratfactor/ziglings/blob/main/exercises/09...
- Learning how to use the Zig build system.
-
What's the reasoning behind the iguana mascot, and why is Zig specifically named so?
Is Zero the space lizard (dinosaur?) with the hammer in the picture in Ziglings' readme? (I like this guy)
-
List of wanted examples?
Yesterday someone introduced me to ziglings, do you mean that? https://github.com/ratfactor/ziglings/tree/main/exercises
- Looking for feedback on new Ziglings Exercise 101 (multi-object 'for' loops and data-oriented design)
-
Curious noob peeks memory and wants to understand it 😅
Hi! I am learning zig through the Ziglings repo. I was messing around exercise 54 where it shows how you can create a pointer to many items instead of a slice:
-
What “sucks” about Zig?
Also, https://github.com/ratfactor/ziglings if you missed it.
-
Ask reddit: What learning resources have taught you the most about zig?
Along with ziglearn, I also found ziglings useful.
- Bun v0.5
dstep
-
I want to install a package globally
You might also be interested in dstep, a tool that can generate D bindings from C header files.
-
Maintain It with Zig
- C, Objective-C = https://github.com/jacob-carlborg/dstep
> its test blocks make unit testing trivial to integrate.
Again, D also has this:
https://tour.dlang.org/tour/en/gems/unittesting
void main() {
-
Raylib, a simple and easy-to-use library to enjoy videogames programming
It's a C lib, generating bindings is super easy https://github.com/jacob-carlborg/dstep
There is no need to maintain bindings that can be automatically generated, wich can easily get outdated if the C project is actively developped
Anyways, someone went a ahead and updated it: https://github.com/Soaku/raylib-d
-
I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
Not quite as seamless as Zig, but dstep is an external program that leverages libclang to do the same thing (and generates a D module for you), as well as e.g., smartly convert #define macros to inlineable templates functions :)
https://github.com/jacob-carlborg/dstep
What are some alternatives?
awesome-zig
arocc - A C compiler written in Zig.
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
utfcpp - UTF-8 with C++ in a Portable Way
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
raylib - A simple and easy-to-use library to enjoy videogames programming
nrf-hal - A Rust HAL for the nRF family of devices
RIIR - why not Rewrite It In Rust
rust-koans - Koans for the Rust programming language
mach - zig game engine & graphics toolkit
xtensa-zig - Zig built against xtensa fork of LLVM for targetting ESP32
jotai-benchmarks - Collection of executable benchmarks