Rust

Top Reasons Why Developers Love Rust

We've gathered and summarized real-world insights from over 100+ developers who have shared their experiences with Rust. Here are the top reasons why developers are madly in love with Rust.

by Blotato
3 min read
Top Reasons Why Developers Love Rust

We've gathered and summarized real-world insights from over 100+ developers who have shared their experiences with Rust. Here are the top reasons why developers are madly in love with Rust.

Cargo: Rust's package manager, Cargo, solves the infamous dependency hell problem. It downloads project dependencies and compiles your project, as you would expect. But Cargo can also run Rust's test framework, perform benchmarks, build API docs for custom crates and publish them, detect security vulnerabilities in dependencies, and much more. Unlike C++, with Cargo developers can build projects on Linux and Windows without issues linking libraries. In contrast, the process of compiling multiple files in C++ tends to be much more painful. Few know that Rust is actually the first systems language to launch a standard package manager, and since every Rust developer uses Cargo, it has become a unified standard that just works as expected, no headaches, no fighting it.

If it compiles, it works: developers appreciate Rust's built-in memory security and how it forces them to handle all error cases, reducing the likelihood of runtime errors. With its powerful type system, you can rest assured that your code will execute in well-defined states and transitions, throwing an error otherwise. Thus, Rust improves memory safety, error prevention, and accelerates debugging by having variables and expression types checked at compilation, without having to worry about garbage collection. Yes, this leads to longer compile times compared to other languages... but it's a beautiful thing when your Rust code compiles and it just works on the first run.

Performance: In addition to being memory safe and type safe, Rust also has minimal runtime and an incredibly low memory footprint. It's more efficient and performant because it leverages ownership and borrowing to manage memory, which requires no runtime overhead, instead of introducing a resource-intensive garbage collector. Under the hood, Rust utilizes LLVM (written in C++) to generate optimized assembly code. LLVM also powers the Clang compiler for C, C++, and Objective C. If you want further comparison of Rust's performance versus other languages like Go and C++, check out the Benchmarks Game.

Community: Although developers agree Rust's learning curve is steep compared to other languages, especially if you're not coming from statically typed, the Rust community nevertheless has the reputation for being helpful, welcoming, and energetic especially as awareness of Rust continues to rise. It's a rapidly growing community that's quite fun to be part of. And it's awesome to watch the growing list of companies using Rust in production.

With that said, not everyone is madly in love...

Some developers find Rust lacking in areas such as const generic expressions and function overloading - features offered by C++. Other developers wish Rust supported functional programming and REPL driven development, like Clojure or ClojureScript, which can make the development process feel more productive, agile, and dynamic.

When it comes to broader adoption, we found most developers use Rust for personal projects but not at their workplaces, making it difficult to set aside sufficient time to learn Rust and feel productive wielding it. The learning curve is, by unanimous consent, pretty steep. If you're coming from a higher-level language like Python, in Rust you'll now have to manage type conversion and memory management, whereas Python previously managed all that for you via interpreter.

For developers actually using Rust at work, a critical obstacle has been security. Many Rust projects have fallen behind in dependencies and versioning due to lack of maintenance. Indeed, many Rust crates are still below version 1. Also, Rust's smaller ecosystem compared to mainstream languages means there are fewer libraries to choose from. As a result, developers often find themselves using PyO3 to plug into Python's ecosystem.

In conclusion, Rust is not just another programming language; it’s a journey into a new paradigm of safety, efficiency, and community-driven development. Whether it’s the perfect fit for your project or another tool in the belt, Rust is here to stay and we're glad to have front-row seats witnessing its evolution.

Share This Post

Check out these related posts

Fun with lexical analysis and Rust

  • Blotato
by Blotato