Google’s Obsession with Rust and switch from C and C++ to the memory-safe is paying off
Google’s obsession with Rust for new code in Android in order to reduce memory-related flaws appears to be paying off. Memory safety vulnerabilities in Android have been more than halved – a milestone that coincides with Google’s switch from C and C++ to the memory-safe programming language, Rust. After Google adopted it for AOSP in April 2021, Rust now accounts for about 21% of new code. The Linux kernel project this year adopted Rust as the new official second language to C. Android version 10 from 2019 had 223 memory safety bugs, while Android 13 has 85 known memory safety issues. Google’s Obsession with Rust and switching from C and C++ to memory-safety is one of the best decisions.
Rust is a systems programming language that combines low-level control over performance with modern language features and a focus on memory safety. Memory safety has been an enduring challenge for software developers, particularly those working on systems programs. Google has begun using Rust in settings where memory safety and performance are key considerations, including in key Android systems.
The Rust Core Team recently completed its work to build a new home for Rust: The Rust Foundation. Building on Google’s longstanding investments in C/C++ and the compilers and toolchains, in particular working across the industry on key issues including interoperability with C++, coordinating security reviews and decreasing the costs of crate updates, and continuing to grow Google’s investments in existing Rust projects.
Memory safety security defects frequently threaten device safety, especially for applications and operating systems. Rust has proven effective at providing an additional layer of protection beyond even these tools in many other settings, including browsers, games, and even key libraries. The question is, can Google’s Obsession with Rust make it the next Python?
Rust for Software Engineers
Software engineers are the wonderful people that make IT systems ‘tick’. Essentially, they write and code both computer operating systems and the software that runs within them. The job title covers many roles, from systems developer to software architect. It’s highly specialized work that requires a good technical background, a thorough understanding of software and hardware, and a strong grasp of mathematical reasoning and coding languages, like Rust.
Rust for Backend Engineers
A backend engineer is responsible for designing, building, and maintaining the server side of web applications. In other words, a backend engineer’s primary responsibility is to build the structure of a software application. They set the software team’s foundations of what they need to do to achieve the main goals. This means that one of the primary functions of a backend engineer in a software development team is to write business logic, server scripts, and APIs that will later be used by the other developers and members of the team.
Rust for Blockchain Engineers
Blockchain engineers specialize in creating and implementing digital solutions for organizations by using a unique type of technology. Blockchain technology allows information to be distributed and shared publicly via the Internet without being copied. The information is not stored in a central location. Job responsibilities may include developing and implementing items like accelerators and assets, assisting with an organization’s infrastructure setups utilizing technologies, and ensuring applications are secure.