Jul 19, 2019

Microsoft plans to explore Rust as an alternative to C and C++ to improve security, accelerate innovation, and tap into its vibrant developer community

Microsoft is searching for a replacement to C and C++, both of which are used to build Windows and many other Microsoft services. One contender is Rust, which, unlike C and C++, is a memory-safe language that is built with protections against memory corruption vulnerabilities, such as buffer overflows and memory leaks. Microsoft’s own programming language C# features many of the same memory access improvements, but lacks some of the advanced features of Rust.

Rust was initially developed by the team at Mozilla as a safer and faster programming language to rebuild the Firefox browser. Developers, however, are taking notice of the fast-growing language and putting it to use: Rust was the most loved programming language in the Stack Overflow Developer Survey for 2016, 2017, 2018, and 2019.

The potential adoption of Rust across the Microsoft ecosystem is driven by a need to eliminate time-consuming memory bug patches, streamline development, and ride the wave of developer interest in Rust. Microsoft security engineers recently noted that over the last 12 years, roughly 70% of all Microsoft's yearly patches were related to memory safety bugs; by using a language that is designed to avoid many of these issues, Microsoft can focus more of its attention on building, rather than bug-fixing, its products. Similar to TypeScript’s improvements to JavaScript, Rust provides us with a powerful example of how to prevent bugs at the lowest-level in the software supply chain.

And, as Rust continues its race as the dark horse language to the top of the developer popularity rankings, Microsoft sees a growing opportunity to align itself and its ecosystem with the next thriving community of developers. Should Rust achieve a breakout moment, Microsoft would be well-positioned to attract app developers to its platforms.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.