diff --git a/src/when_to_use_rust.md b/src/when_to_use_rust.md index 83cbee3..c5647fc 100644 --- a/src/when_to_use_rust.md +++ b/src/when_to_use_rust.md @@ -4,15 +4,25 @@ Like most general programming languages, Rust can be used for virtually any kind Rust is designed for programs and projects where -* performance; +* 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 need to make use of a library in another language; -* you want to deliver something as quickly as possible and you don't care how well it works. +* 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.