News
Microsoft's Rust Embrace Continues with Azure SDK Beta
For years Microsoft has been discussing moving to the Rust programming language for its dev teams in certain scenarios, primarily for the memory-safe aspects of the language as compared to C and C++, the latter used for much low-level systems development at the company.
When we're talking years, consider that in 2019 Microsoft penned "Why Rust for safe systems programming," and in 2021 the company joined the Rust Foundation. The next year Redmond announced a new Rust in Visual Studio Code topic and support with the rust-analyzer extension (see "Visual Studio Code Nods to Rapidly Rising Rust Language"). The next year we reported "Native Rust in Visual Studio Is Top Dev Request, but Progress Slow."
Well, the progress has picked up a bit with the Feb. 19 announcement of the Azure SDK for Rust Beta.
"We decided to create an official Azure SDK for Rust due to the growing interest in the Rust programming language, both externally and within Microsoft," said dev team product manager Ronnie Geraghty. "Rust is known for its performance, reliability, and memory safety, making it an excellent choice for systems programming and applications that require high performance and low-level control."
[Click on image for larger view.] Why Rust? (source: rust-lang.org).
"Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code," Geraghty continued. "Additionally, Rust's modern syntax and tooling make it a pleasure to work with, attracting a vibrant and enthusiastic developer community."
Microsoft plans to continue enhancing the Azure SDK for Rust by expanding its support for additional Azure services and refining the existing libraries. The goal is to stabilize these libraries, ensuring they offer a reliable and seamless experience for Rust developers.
To improve usability while maintaining flexibility, the team intends to implement a few key updates. One planned change involves buffering entire responses within the pipeline, ensuring that all policies -- such as automatic retries for certain failures -- are consistently applied. Additionally, arrays will generally be deserialized as empty Vec<T>
collections to simplify coding and streamline development.
The project can be explored at its GitHub repo, which contains more detailed documentation, code samples, and installation instructions to augment today's announcement guidance.
About the Author
David Ramel is an editor and writer at Converge 360.