Linux Kernel, FreeBSD and now Microsoft are planning for Rust adoption for core services, moving away from C#. We find out why.
In a bold move towards modernization and bolstering security measures, Microsoft has unveiled its intention to form a dedicated team focused on transitioning its core C# codebase to the Rust programming language. The revelation comes from a recent job posting on Microsoft’s careers website for a technical architect position within the Substrate App Platform group, a key component of the Microsoft 365 Core Platform organization.
Table of Contents
C# to Rust for Substrate App Platform
The Substrate App Platform group, responsible for handling the intricate operations behind Microsoft’s cloud services, is gearing up for a substantial overhaul by embracing Rust as its primary programming language. This strategic move reflects Microsoft’s commitment to enabling the adoption of Rust across global-scale platform services and beyond.
According to the official statement by Microsoft, “We are forming a new team focused on enabling the adoption of the Rust programming language as the foundation to modernizing global-scale platform services, and beyond.”
This initiative builds on Microsoft’s previous strides in incorporating Rust into its ecosystem. In 2023, the director of OS security for Windows announced the integration of Rust into the Windows kernel, marking the language’s steady integration into various components over the years.
Rust in Linux Kernel and BSD
On the same note, Rust already made its way into Linux Kernel since kernel version 6.1. We are now in Kernel 6.8, and many codes already made their way. In the future, drivers will likely be written in Rust for Linux.
FreeBSD folks are not behind. We reported a few days back that BSD developers are already evaluating the possibility of adopting Rust for the FreeBSD base system.
As a platinum member of the Rust Foundation, alongside tech giants like Meta and AWS, Microsoft’s embrace of Rust aligns with the industry’s growing enthusiasm for memory-safe programming. Rust offers enhanced security features with less overhead compared to languages like C++, making it a natural choice for a company of Microsoft’s stature.
However, this transition from C# to Rust raises intriguing questions about the future of the .NET framework, particularly given the extensive reliance on C# for heavy lifting. While some may speculate on the potential impact on .NET, Microsoft’s historical commitment to legacy technologies, like VBA, suggests that the framework will likely stay.
One compelling angle to consider is the potential improvement in security resulting from this framework shift. By embracing Rust’s security-centric features, Microsoft aims to streamline vulnerability management, reducing both the time and costs associated with safeguarding its platform services.
Moreover, in a computing landscape where Moore’s law no longer reliably delivers exponential hardware performance increases, Microsoft’s move to native code reflects a strategic decision to address the ever-growing demand for computational resources. Don’t forget the cost of running huge data centres for Azure. The transition from abstract machine runtimes, such as C# and Java, to “faster” languages, like Rust and Golang, is indeed a key move by enterprises to achieve more with fewer resources.
That said, organizations/large projects like Linux Kernel need new-age developers to maintain and support. The .NET framework is already a legacy and something to be adopted, which is likely favoured by the new-age Computer Science graduates. They probably prefer Rust over native C++ or C as per their own career prospects.
If you follow GNOME/GTK development, you are probably aware that many Rust-based applications are already available in the Flathub repository. That proves it’s a preferable programming language for open & closed-source developers.
Probably all these factors are the basis of this Rust adoption, not only in Microsoft but everywhere.
What do you think? Let me know in the comment box.