Rust1.0 was released in 2015, shortly after its sixth birthday. A lot has changed in Rust since its release, especially in the past year. In 2020, many organizations were wondering if Rust was ready for production, with no foundation and no const generics.
Hundreds of Rust team members and volunteers worldwide released more than nine new stable releases of Rust during the COVID-19 pandemic, in addition to various bug fixes. Today, “Rust into production “is not a question, but a statement. The newly formed Rust Foundation has several members who value the use of Rust in production and continue to support and contribute to its open development ecosystem.
Here’s a review of some of the major improvements of the past year, a look at how the community is using Rust in production, and finally a look at some of the work currently underway to improve and use Rust for small and large projects in the coming year.
Recent additions
Over the past year, the Rust language has made great strides, gaining many quality-of-life features that, while they don’t fundamentally change the language, help to use and maintain Rust in more places, and even make it easier to use.
- Starting with Rust 1.52.0 and upgrading to LLVM 12, one of the few unsound situations surrounding the forward process, such as handling infinite loops, was finally resolved. This is a long-standing collaboration between the Rust team and the LLVM project, and a good example of how Rust’s improvements can also benefit the broader programming language ecosystem.
- In terms of supporting a wider ecosystem, the introduction of tier 1 support for 64-bit ARM Linux, as well as tier 2 support for ARM macOS and ARM Windows, makes Rust a better place to easily build your projects on new and different architectures.
- The most obvious exception is the significant improvement to Rust’s compile-time capabilities. It stabilizes constant generics of primitive types, increases the control flow of “const fn “, and allows the use of procedural macros in more places, which allows the creation of powerful new apis and plate types.
Rustc is not the only tool with significant improvements.
- Cargo has recently stabilized its new feature parser, which makes it easier to use your dependencies on different targets.
- Rustdoc stabilizes its “in-document linking” feature, allowing you to easily and automatically cross-reference Rust types and functions in your documents.
- Clippy and Cargo now use a separate build cache, providing more consistent behavior.
Developing Rust
Every year the growth and adoption of Rust in communities and industries is astounding, and this past year was no exception. Rust was voted the favorite programming language by StackOverflow again in 2020. The Rust team also expressed gratitude to everyone in the community.
With the establishment of the Rust Foundation, Rust has been better able to build a sustainable open source ecosystem that enables everyone to build reliable and efficient software. Several companies that use Rust have formed teams dedicated to maintaining and improving Rust projects, including AWS, Facebook, and Microsoft.
And it’s not just Rust that’s getting bigger. More and more companies have adopted Rust in their projects and are providing officially supported Rust apis.
-
Microsoft and Amazon have both recently announced and released their new officially supported Rust library for interacting with Windows and AWS. Official first-party support for these large-scale apis helps make Rust the first choice for people when deciding what to use for their projects.
-
The cURL project has released a new version that provides optional support for using Rust libraries for HTTP/ S and TLS communications. This was a huge inter-community collaboration between the ISRG, Hyper & Rustls team and the cURL project, and we would like to thank everyone for their hard work in providing a new memory-safe back end for such a large and widely used project as cURL.
-
Tokio, an asynchronous runtime written in Rust, released version 1.0 and announced that they have a three-year stability guarantee, providing a solid, stable foundation for writing reliable web applications without affecting speed.
Future jobs
All of this is just the beginning, and we’re seeing more and more initiatives to put Rust in exciting new places.
- Critical Section & Ferrous Systems has launched Ferrocene, a project designed to make Rust a viable programming language for security and mission-critical Systems across the industry.
- Embark Studios has released an initial prototype of Rust-GPU, a new compiler back end that allows graphics shaders to be written for gpus using Rust.
- The Linux project is currently considering a proposal to add Rust to the kernel as a second language so that more secure driver and kernel-space code can be written.
- Google has announced that it now supports building low-level components of the Android operating system with Rust, and has begun an effort to rewrite their Bluetooth stack with Rust!
Right now, the Rust team is planning and coordinating the 2021 Rust release. Like last year, many of the changes revolve around improving the quality of life. You can check out the Rust team’s recent article on “Rust 2021 Plans “to see what changes teams are planning.
These are just the tip of the iceberg; There are more changes afoot, with exciting new open projects being launched in Rust every day.
Original link: blog.rust-lang.org/2021/05/15/…