ziglings
getrandom
Our great sponsors
ziglings | getrandom | |
---|---|---|
36 | 8 | |
4,030 | 251 | |
- | 0.8% | |
8.1 | 6.7 | |
about 1 month ago | 7 days ago | |
Zig | Rust | |
MIT License | Apache License 2.0 |
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...
-
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)
-
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
-
Thinking of learning Zig and systems programming
I suggest to learn by fixing tiny broken programs: https://github.com/ratfactor/ziglings
-
Ask HN: What is the coding exercise you use to explore a new language?
+1 for rustlings, which also inspired "ziglings" [1]. Both of these were great resources for quickly & easily learning the basics of their respective languages.
- How to get started with ziglang?
-
My views on Ziglang
Ziglings
getrandom
-
We have getrandom at home
Completely agreed. This isn't in that context at all, though yes, the joke post title may not make that clear.
The crypto source in Go is great, no complaints there. Lints like gosec even recommend using it when generating crypto entropy. Go did a good job here, and I expect Rust will do the same sometime after getrandom reaches 1.0 so the API questions are settled, plus whatever makes sense for the future-proofing the standard library needs.
Why can't the standard library do the same thing that getrandom does? I've read a ton of threads about getrandom design choices, but since I wasn't looking for this kind of target, I guess I missed the whole thing.
-
Fellow Rust enthusiasts: What "sucks" about Rust?
I would wait for the getrandom crate to reach 1.0, which will answer many of the questions around what an API like this can look like, and then maybe the standard library discussion will be on firmer footing because at least we'll know what API we want to immortalize. Rushing that now just to save people importing a small crate does not seem to be the way to go.
-
Alea: fast and easy random number generation in Rust
getrandom
-
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
It's a default, but overwritable behavior, see the #[path] attribute. You still have to create N files for each supported platform, but at the top level you will see only one module. On of the crates which uses this approach in practice is getrandom.
-
String, Vec<T>, Box<T>, Rc<T>... could be moved from alloc to core
IIUC the main problem which prevents from moving HashMap & co to alloc is lack of API to get system entropy which is required for DOS protection. Ideally we would have a #[global_allocator]-like functionality for retrieving system entropy. Relevant issue: https://github.com/rust-random/getrandom/issues/21
What are some alternatives?
awesome-zig
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
nrf-hal - A Rust HAL for the nRF family of devices
rust-koans - Koans for the Rust programming language
xtensa-zig - Zig built against xtensa fork of LLVM for targetting ESP32
STL - MSVC's implementation of the C++ Standard Library.
cargo-geiger - Detects usage of unsafe Rust in a Rust crate and its dependencies.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
rust - Empowering everyone to build reliable and efficient software.
node - Node.js JavaScript runtime ✨🐢🚀✨
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.