RustWerks is a manifesto for Rust specific development and a complete deep dive into all things Rust. Rust was bootstrapped from an compiler written in OCaml. The compiler is also not exclusively written in Rust with the actual code generation and low level optimizations happen through the LLVM library, which is written in C++.
There is also the mrustc project that can be used for bootstrapping. It compiles/transpiles Rust into C that can be compiled using something like Clang or GCC.
Techically speaking, Rust is not "written in anything". It is a language, the syntax, the rules, operations, everything is defined as an abstract concept that eventually is meant to be transcribed to the machine code, that when fed to the computer, does stuff.
A compiler is just a program that is transcribing a source code written in some language to the mentioned machine code. Like every other piece of software, it can be written in any language. Just like a Fibonacci sequence generator, like Fizzbuzz, like anything that does stuff. Input source code, output machine code.
So at first, the source code written in Rust was compiled to the machine code with a compiler written in another language (OCaml apparently, but it can be done in any language, so let's tell that it was C). So you had a program written in C that took source code written in Rust and returned machine code that can be executed on a computer.
Then after testing that the thing works, somebody wrote the program that does the same thing that this old C program did, but this time they written it in Rust. Then they compiled it with the C program.
Now you have a compiled executable originally written in Rust that can compile new things. So we took the executable, compiled the source code and it turned out to work. Thus Rust "compiled itself".
I use Github's dev browser tool and VSCode IDE and have found it a great tool for development and git commits
~dwulf
I live in code, my logic is real. my own abode, its electrons I steal.
The code is Rust, with a compiler that knows. to never trust, the sytnax that grows.
Complication, is a name of a game. that computation, will reduce just the same.
To clarify, we code what we trust. To simplify, we code it in Rust.
curl https://sh.rustup.rs | sh
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
- Rust Cheats, Cheat Sheet for Rust
- Blackhat Rust Github(book), Code for the book
- Hands on Rust(book)
- rust-atomics-and-locks, Code examples, data structures, and links from my book, Rust Atomics and Locks
- Writing an OS in Rust
- Kerkour Bloom, Software development and security tips from the field.
- Crates Live
- Web3-Stack
- Github Browser Dev Tool The Github Dev Tool is invoked by pointing your browser to a github on github.com, and pressing a '.' or the period button on your keyboard. This will give in browser VSCode IDE
- bors-ng Bors-NG implements a continuous-testing workflow where the main branch never breaks. It integrates GitHub pull requests with a tool like Travis CI that runs your tests.
The following are Rust specific projects that I feel are good learning tools, I find that when I read code I can write it better.
- Theseus, is a modern OS written from scratch in Rust that explores ๐ข๐ง๐ญ๐ซ๐๐ฅ๐ข๐ง๐ ๐ฎ๐๐ฅ ๐๐๐ฌ๐ข๐ ๐ง
- Redox, is an operating system written in Rust
- nix, Rust friendly bindings to *nix APIs
- Bevy Game Engine org site
- Bevy, is a refreshingly simple data-driven game engine built in Rust
- Fyrox, 3D and 2D game engine written in Rust
- C64, yes this is C, but will be Rust
- Gitoxide, git based VCS, Idiomatic, lean, fast & safe pure Rust implementation of Git
- Pijul, (New VCS)
- Rage, A simple, modern, and secure file encryption tool, using the age format
- riscv-crypto, RISC-V cryptography extensions standardisation work
- sudo-rs, A safety oriented and memory safe implementation of sudo and su written in Rust
- ebpfguard, a library for managing Linux security policies.
- vaultwarden, Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
- rust-minisign, A pure Rust implementation of the Minisign signature tool
- Signify, Create cryptographic signatures for files and verify them
- Zola, A fast static site generator in a single binary with everything built-in
- Cobalt, A static site generator written in Rust
- Perseus, state-driven web development framework for Rust with full support for server-side rendering and static generation
- dioxus, Fullstack GUI library for desktop, web, mobile
- yew, Rust / WASM framework for building client web apps
- rocket, A web framework for Rust
- axum, Ergonomic and modular web framework built with Tokio, Tower, and Hyper
- actix, Web is a powerful, pragmatic, and extremely fast web framework for Rust
- hyper-fast, rust based very fast HTTP Web framework,much faster than actix and other frameworks
- salvo, an extremely simple and powerful Rust web backend framework
- iced, A cross-platform GUI library for Rust, inspired by Elm
- sycamore, A library for creating reactive web apps in Rust and WebAssembly
- fractal, (Client), Matrix group messaging app
- Conduit,(Server) is a simple, fast and reliable chat server
- rod, Rust Object Database
- SurrealDB, is an end-to-end cloud-native database
- SQLx, is an async, pure Rustโ SQL crate featuring compile-time checked queries without a DSL
- sea-orm, async & dynamic ORM for Rust
- Neon, is a serverless open-source alternative to AWS Aurora Postgres
- async-graphql, A GraphQL server library implemented in Rust
- engula, is a distributed key-value store, used as a cache, database, and storage engine
- tikv, Distributed transactional key-value database, originally created to complement TiDB
- skytable, is a fast, secure and reliable realtime NoSQL database
- innernet, A private network system that uses WireGuard under the hood
- MASQ Node combines the benefits of VPN and Tor technology
-trow, Container Registry and Image Management for Kubernetes Clusters
- ffsend, Easily and securely share files from the command line
- magic-wormhole, Rust implementation of Magic Wormhole
- rdpFX, A simple file explorer that was born because I wanted to learn the Rust language.
- dufs, distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav
- miniserve, A small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP
Everything re-written in Rust.