Rust Programming Language
PerformanceRust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
ReliabilityRust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time.
ProductivityRust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more.
Risks of its adoption
- Relatively young language: Rapid adoption across the industry.
- Currently no official support for the language by any large company: Although changing and lots of companies are already invested on it.
- Buy in into single ecosystem: Necessary independent of language.
- Low level.
- Including wasm.
- Ecosystem: crates.io.
- Tooling: cargo.
- Foundation: LLVM.
- High assurance software: (hacspec, crucible, sealed Rust, rustbelt, etc).
Companies using it
- Crates.io: Large package ecosystem.
- Cargo: Build tool support.
- LLVM Backend: All LLVM tools work on Rust.
- Foreign Function Interface (FFI):
- Easily usable in other languages.
- Can easily use other C-like languages.
- WebAssembly (WASM):
- Native WASM support through compiler.
- It’s just another target platform.
This section includes deeper knowledge about Rust specific functionalities.
A toolchain is a specific version of the collection of programs needed to compile a Rust application. It includes, but is not limited to:
- The compiler,
- The dependency manager and build tool,
- The documentation generator,
- The static and/or dynamic libraries comprising the standard library for the default platform.
There are additional components that can be installed, such as:
- The Rust Programming Language.
- The standard library.
- Various books and references.
- The static and/or dynamic libraries comprising the standard library for additional platforms to cross-compile to.
- The source code for the standard library.
- Extra utilities:
- Code formatting via
- Extra lints via
- Undefined behavior checking via
- Advanced editor support via
rust-analyzeror the Rust Language Server.
- Code formatting via
Rustup provides ways to install, remove, update, select and otherwise manage these toolchains and their associated pieces.
For more details check Stack Overflow.