324 private links
Some interesting statistics.
Rust interact with other parts of the codebase through
- Rest API (56%)
- Language interop (44%)
- RPC (21%)
- WebAssembly /WASI (19%)
Projects developed in Rust are:
- CLI tools (40%)
- Systems programming (38%)
- Web development (35%)
- Desktop / GUI applications (21%)
- Network programming (17%)
- Embedded / IoT (12%)
- Academic /Scientific / Numeric (9%)
and more games, databases, DevOps, Security, data science / ML / AI, Blockchain, ...
As for why: write safer code, build high-performance applications, iterest or fun, improve skills and career opportunities (stay competitive in the industry), handle concurrency or multithreading safely, ...
How to learn?
- official rust documentation (95%)
- books (32%)
- video or podcasts (19%)
- online courses (12%)
- University or academic coursework (5%)
and employer-provided training, rust training companies, ...
In the meantime, it consumes 10 times more resources than the tool htop
A performance bounty program
Enable logs depending of the RUST_LOG
env variable.
Most of the time when fighting the compiler it is actually exposing a design flaw. Similarly, if your code gets overly verbose or looks ugly, there’s probably a better way. Declare defeat and learn to do it the Rust way.
Baby steps: avoid to make it too hard on yourself in the beginning.
You can be sloppy in other languages, but not in Rust.
And other useful tips, among them:
Don’t Use Other People’s Crates While Learning: A poor personal version is better than a perfect external crate (at least while learning). Write some small library code yourself as an exercise (except maybe serde and anyhow).
A framework similar to Express (JS) in API design
When JS tools are written in other programming languages, it increases the barrier to contribute in these tools. The contributors need to know a second language.
A rewrite in another language is already a rewrite, which means things will be better built.
Node performance is often slow, but it works without cache... Let's try export NODE_COMPILE_CACHE=1 first.
Moreover JS is easily debuggable.
Negative experience:
- the steep learning curve for Rust
- the bevy engine gets regressions in some releases, or the API is unstable.
Use types to enforce consistency.
Les Refinement Types sont des objets qui permettent de s'assurer de la cohérence des données en mathématique on appellerait ceci un sous-ensemble.