Software attributes
Other attributes
Rust is an open-source programming language known for its performance, reliability, and productivity. Globally, hundreds of companies use Rust in production for fast, low-resource, cross-platform solutions. Rust is a modern systems programming that is memory-safe without using garbage collection. Rust is used for building high-performance systems with the simplicity of high-level languages, such as Go and Python, but the control of low-level languages, such as C. The syntax is similar to C++ but the language aims to solve problems that C and C++ developers struggle with, namely memory errors and concurrent programming. Additionally, with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
Not having a garbage collector makes Rust a useful language for a range of use cases other languages aren’t good at, including embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. Benefits of Rust over similar languages include having compile-time safety checks that produce no runtime overhead while eliminating all data races. Rust also aims to achieve "zero-cost abstractions."
Development on Rust began as a side project of Mozilla programmer Graydon Hoare in 2006. The language has grown to one of the most popular new languages in use, with estimates of 2.8 million developers writing in Rust in February 2023. Rust has been rated the most "loved" programming language seven times in a row (up until the 2022 survey), according to Stack Overflow's annual poll of developers around the world. Rust developers are known as "Rustaceans."
- Rustup—a command-line tool for managing Rust installations. Rustup can be used to install new versions of Rust, switch between different Rust versions, and update existing installations.
- Cargo—the official package manager and build tool. Cargo is used to manage Rust projects, including dependencies, building, testing, and packaging. It simplifies common tasks in Rust programming, such as managing external libraries and publishing Rust packages to crates.io.
- Rustfmt—automatically formats Rust code to conform to community style guidelines. Rustfmt can be used to ensure that the code is consistent with the Rust community's best practices and make it easier to read and maintain.
- Clippy—a Rust linter tool that analyzes code to provide suggestions for improvement. Clippy can help catch bugs, improve performance, and write more idiomatic Rust code. It is highly customizable, and its suggestions are easy to change for different coding styles and preferences.
- Actix—an actor-based web framework designed to provide fast and scalable web applications, leveraging Rust's safety and performance. Actix provides an actor-based concurrency model that can improve the scalability and performance of web applications by isolating and parallelizing requests.
- Rocket—a web framework that aims to provide a simple, secure, and intuitive development experience. Rocket uses Rust's type system to ensure safety and correctness while providing a set of macros and abstractions to simplify web development. This framework is known for its easy-to-use request routing and response handling.
- Serde—a library that provides serialization and deserialization of Rust data structures to and from various data formats, including JSON, TOML, and YAML. Serde aims to be fast, flexible, and reliable, with support for custom data formats and extensible serialization and deserialization capabilities.
- Diesel—a composable ORM (object-relational mapping) and query builder. Diesel provides a set of macros and abstractions to simplify database interactions and ensure safety and correctness. Diesel also supports multiple database backends like PostgreSQL, MySQL, and SQLite and provides advanced features such as schema migrations and compile-time query validation.
The Rust Foundation was launched in February 2021. It is an independent non-profit organization with the purpose of stewarding the Rust language and ecosystem, focusing on supporting the set of maintainers that govern and develop the project. The foundation's founding member companies were Amazon Web Services (AWS), Huawei, Google, Microsoft, and Mozilla. In April 2021, Facebook also joined the foundation. The foundation was created after Mozilla announced its restructuring in August 2020 due to the economic impact of the COVID-19 pandemic. As part of its restructuring, Mozilla laid off about 250 employees, many of whom were on the Rust team.
Google, Microsoft, and Facebook are all members of the Rust Foundation, supporting the Rust language and ecosystems. Each company has also been using Rust in its systems. Google is planning to use Rust in the Linux kernel after bringing support for the programming language to Android. The operation is aimed at reducing security flaws. Microsoft has turned to Rust to reduce memory-related bugs in Windows components, and, in 2020, Linux kernel developers proposed writing new Linux kernel code in Rust. They did not want to rewrite the entire kernel, which was originally written in C, but instead, add new code in Rust that would work with the existing infrastructure. Facebook has been using Rust since 2016, using the programming language in all aspects of development, from source control to compilers.
Graydon Hoare first started working on the Rust programming language in 2006. At the time, Hoare was a twenty-nine-year-old computer programmer working for Mozilla. The motivation to start Rust began when he returned home to his apartment in Vancouver to find the elevator out of order after its software had crashed. Hoare crashes like this were often caused due to problems with how a program uses memory and that most software inside devices like elevators are written in languages like C++ or C. After taking the stairs to his twenty-first-floor apartment, he began designing a new computer language that would become Rust. He aimed to design a language that enabled programmers to write code that runs quickly while being compact, but also overcoming common memory bugs that lead to a crash. He named the new language Rust, after a group of remarkably hardy fungi that are, he says, “over-engineered for survival.” He also liked the play on the words from words such as robust, trust, frustrating, rustic, and thrust.
After working on it for several years, it became a Mozilla project in 2010. The initial git commit of Rust was June 16, 2010, authored by Graydon Hoare as well as Andreas Gal, Dave Herman, Patrick Walton, and Brendan Eich. Hoare stepped aside from the project in 2013. In 2015, with the release of Rust 1.0, it became an independent project with Mozilla being the main legal and financial sponsor. In 2021, Rust management moved to the Rust Foundation.