zig-clap
mach-gpu-dawn
zig-clap | mach-gpu-dawn | |
---|---|---|
3 | 2 | |
978 | 151 | |
- | 1.3% | |
7.7 | 7.5 | |
13 days ago | 5 months ago | |
Zig | Zig | |
MIT License | GNU General Public License v3.0 or later |
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.
zig-clap
-
After a day of programming in Zig
Zig and Rust both promote explicit error handling, however their mechanisms are different. Rust uses Result enums, while Zig uses a (global) error set type (though similar to an enum) and error propagation. Similarly, Rust uses the Option enum for optional types, while Zig uses a type modifier (?T). Both offer modern, syntactic sugar to handle those (call()? and if let Some(value) = optional {} in Rust, try call() and if (optional) |value| {} in Zig). Since Rust uses the standard library to implement error handling and options, users have the possibility to extend those systems which is quite powerful. However, I like the approach Zig takes in providing those things as language features. While their approach fits well into the C universe, I dislike that there is no pragmatic way to add more context to an error (but well, no allocations). Libraries like [clap](https://github.com/Hejsil/zig-clap) solve this by implementing a diagnostics mechanism.
-
Is it too early to use Zig for CLI tooling ideas?
It's somewhat early, but there are libraries like https://github.com/Hejsil/zig-clap that can make writing CLIs a bit easier.
-
Docco for printing, getting input, cmdline args?
Command line args: std.process or the zig-clap library
mach-gpu-dawn
-
What's your go to platform for developing with WebGPU?
It's using a Dawn a couple months out of date, but there's this: https://github.com/hexops/mach-gpu-dawn
-
zig-gamedev: audio experiments sample app (wgpu, cross-platfrom)
When reading "wgpu", I wondered if it used the WebGPU implementation of the same name (wgpu) rather than Dawn. It may be worth changing mentions of "wgpu" to "WebGPU" in zgpu (and these titles) similar to how its dependency, mach-gpu-dawn, uses these names,
What are some alternatives?
zig-args - Simple-to-use argument parser with struct-based config
wgpu - A cross-platform, safe, pure-Rust graphics API.
known-folders - Provides access to well-known folders across several operating systems
capy - 💻Build one codebase and get native UI on Windows, Linux and Web
sdk - TinyVG software development kit
zig-gamedev - Dev repo for @zig-gamedev libs and sample applications
zig-rocca-s - An implementation of the ROCCA-S encryption scheme.
zig-network - A smallest-common-subset of socket functions for crossplatform networking, TCP & UDP
zig-range - A range function to loop over an index without an extra variable.
mecha - A parser combinator library for Zig
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
mach - zig game engine & graphics toolkit