When to use Rust?

Like most general programming languages, Rust can be used for virtually any kind of project. This can make it difficult to know when to use it! Here are a few criteria.

Rust is designed for programs and projects where

  • performance and/or memory usage;
  • reliability; and
  • long-term maintaince

are top considerations. If your program fits these criteria, then Rust would probably be a good choice.

What are great domains for Rust?

Domains where Rust can be a particularly good fit:

  • Systems programing, low-level development, or embedded systems;
  • Network systems, where Rust offers "predictably low" tail latency, low memory usage, and high reliability;
  • Developer tools and CLI applications, where Rust's can snappy response time and getting the right answer is super important.

When not to use Rust?

When there's a better option, of course! Here are some reasons you might prefer not to use Rust

  • you want to make use of a library or framework in another language;
  • you're targeting an environment or community where the other language is the default choice (e.g., Swift for iOS);
  • rapid iteration is more important than getting the details right;
  • you want to learn something else or you just really like the other language. That's cool too.