Rust
Rust is a Procedural, Compiled, Borrow Checked (Memory Safe(r)), Statically Typed, Lower Level Than Go And Higher Level Than C programming language. It offers great concurrency, async (hard) and robust unwanted behavior elimination. Has a powerful standard library but shines greatly with crates (dependencies), using cargo, it's package management system.
There are many ways to write procedures like any language. Some more idiomatic than others, with one liners, syntax sugar and macros. This manual serves as a way of helping to write good Rust procedures, outside of executing Clippy's suggestions (more info below).
You install Rust preferably through Rustup, which comes with the whole toolchain (you are going to need it), including:
- rustc: the Rust compiler.
- cargo: the package manager and build tool.
- rustfmt: formats Rust code according to style guidelines.
- clippy: a linter that provides suggestions to improve your code (micro best practices).
- rust-analyzer: a language server for IDE support and code navigation.
Cool things that are built with Rust:
- Lince: an app for modeling, interconnection and automation of Needs and Contributions. I think it's cool, and it's not because I made it okay?
- Deno: a JavaScript/TypeScript runtime.
- Rust for Linux: an effort to support Linux kernel modules in Rust.
- Helix | Zed: text editors/IDEs.
- Dioxus | Tauri: cross-platform application builders.
- Axum | Actix Web: backend frameworks.
- Redox: an operating system.
- uutils: rewrite of GNU's core utils.
- Limbo: an SQLite 'evolution'.
- Fish | Nushell: shells.
- Servo: a browser engine.
- Alacritty: a GPU-accelerated terminal emulator.
- Cosmic Desktop Environment: a desktop environment native to Pop_OS.
- Niri: a scrollable window manager for Wayland.
- Maud (awesome) | Yew | Leptos: frontend.
- Iced | egui: GUI toolkits.
- Bevy: a game engine that you use by writing 'pretty normal' Rust.
- Polars: DataFrames.
Read the next session to create a project and force me to put it in the list.