上QQ阅读APP看书,第一时间看更新
Where to use Rust
It is clear from the previous sections that Rust can be used in projects that would normally use C or C++. Indeed, many regard Rust as a successor to, or a replacement for, C/C++. Although Rust is designed to be a systems language, due to its richness of constructs, it has a broad range of possible applications, making it an ideal candidate for applications that fall into one or all of the following categories:
- Client applications, like browsers
- Low-latency, high-performance systems, like device drivers, games and signal processing
- Highly distributed and concurrent systems, like server applications and microservices
- Real-time and critical systems, like operating systems or kernels
- Embedded systems (requiring a very minimal runtime footprint) or resource-constrained environments, like Raspberry Pi and Arduino, or robotics
- Tools or services that can't support the long warmup delays common in just-in-time (JIT) compiler systems and need instantaneous startup
- Web frameworks
- Large-scale, high-performance, resource intensive, and complex software systems
Rust is especially suitable when code quality is important, that is, for the following:
- Modestly-sized or larger development teams
- Code for long-running production use
- Code with a longer lifetime that requires regular maintenance and refactoring
- Code for which you would normally write a lot of unit tests to safeguard