Created just a decade ago, “Rust” is a modern programming language aimed at performance and safety — especially for applications requiring safe concurrency.
Rust represents a radical new way to collaborate on Open Source projects by building bridges among software, hardware, architectures, and multiple systems, while enabling super-fast processing of large data sets. Rust is currently being used for systems programming and microservices applications, and is suitable for performance-critical and embedded device applications. One of its key claimed advantages is that it integrates easily with other languages — making it a great language for applications where hardware and software intersect.
Rust has been popular among independent developers for some time, and has recently gained a foothold in Big Tech. Last year, it made the “TIOBE Index Top 20” list of popular programming languages for the first time.
March 2020 Software Developer Survey Overview
(click image to enlarge; source: Stack Overflow)
The annual Stack Overflow Developer Survey, which in 2020 polled nearly 65,000 programmers, ranked Rust as the “most loved” programming language for five years running. GitHub noted that Rust was the second-fastest-growing language on its platform in 2019, up 235 percent from the prior year.
The Rust project currently counts more than 100 team members as leaders in shepherding the roughly 6,000 contributors to its Rust-Lang repo, since the project’s inception. Despite the project’s relative youth, Rust is considered to have one of Open Source’s most robust RFC processes for an independent community, with over 1,000 contributors making strategic decisions about its design, architecture, and significant processes. The project is licensed under the Apache and MIT open source licenses.
Catching the attention of Big Tech
AWS, Huawei, Google, Mozilla, and Microsoft have joined the Rust Foundation, with the latter announcing the formation of an internal Rust team to further efforts on the compiler, core tooling, documentation, and more. Additionally, Google recently announced plans to fund a project to secure the Apache web server by means of new Rust components.
Rust grew out of a personal side project of Mozilla’s Graydon Hoare in 2006, which he envisioned as a language for everyone, “empowering everyone to build reliable and efficient software.” Rust was used in portions of Mozilla’s Firefox browser. The Rust programming language — aka “RustLang” — is well liked by developers, and is described as being “syntactically similar to C++”, although it can also guarantee memory safety by using a “borrow checker” to validate references. Additionally, developer’s claim Rust offers them the “expressiveness” of Python along with the speed of more commonly known and used in languages like C and C++.
Signaling continued growth, adoption, and maturity, the Rust Core Team announced the formation of the Rust Foundation in February 2021, with more than a million dollars in annual commitments to support the language and its Open Source community. The Rust team, however, has been clear to contributors that they don’t intend to abandon their independent nature, and that the project’s community-driven, self-governance model continues with regard to how they choose to lead their substantial team: by Open Source standards.
The open source Rust project offers extensive documentation aimed at assisting developers with getting starting using it. In particular, the project’s website hosts the Rust Language Book, plus extensive examples of Rust code in the Rust Cookbook, which contains “recipes for solving common problems.”
Quoting from the introduction to the Rust Language Book:
“Rust is proving to be a productive tool for collaborating among large teams of developers with varying levels of systems programming knowledge. Low-level code is prone to a variety of subtle bugs, which in most other languages can be caught only through extensive testing and careful code review by experienced developers. In Rust, the compiler plays a gatekeeper role by refusing to compile code with these elusive bugs, including concurrency bugs. By working alongside the compiler, the team can spend their time focusing on the program’s logic rather than chasing down bugs.”
The Rust project touts its modern developer tools, which include:
- Cargo — a dependency manager and build tool to “make adding compiling, and managing dependencies painless and consistent across the Rust ecosystem”
- Rustfmt — which ensures “a consistent coding style across developers”
- Rust Language Server — “which powers Integrated Development Environment (IDE) integration for code completion and inline error messages”