Skip to main content

Programming language Rust: 5 years on from v1.0, here's the good and the bad news

The open-source project behind Rust has detailed the programming language's milestones over the past five years since releasing Rust version 1.0. 

Rust was created at Mozilla and the project boasts that today, "Apple, Amazon, Dropbox, Facebook, Google, and Microsoft [are] choosing to use Rust for its performance, reliability, and productivity in their projects."

"Rust is a general-purpose programming language empowering everyone to build reliable and efficient software. Rust can be built to run anywhere in the stack, whether as the kernel for your operating system or your next web app," the project says in a blogpost detailing milestones since 2015.

Mozilla developers were using pre-1.0 Rust in 2014 to build its new Servo browser rendering engine for Firefox. A major goal was to eradicate memory-related security bugs in Firefox's Gecko rendering engine, many of which were due to C++'s "unsafe memory model". 

Then last year, Microsoft started experimenting with Rust to rewrite some Windows components that were written in C and C++ in the hope of reducing memory security bugs in Windows.      

Microsoft Azure developers recently revealed they chose Rust over Google's Go programming language to create Krustlet, a tool for cloud developers to test non-browser WebAssembly modules in Kubernetes, the popular Google-created container management system. 

An important milestone for Rust is Microsoft's release this month of a public preview of its Rust library for the Windows Runtime (WinRT) to make it easier for developers to write Windows and cross-platform apps and drivers in Rust.   

"Rust's Windows support is one of the biggest improvements these past five years," the Rust project said. 

"Now it's easier than ever to build top-quality native and cross-platform apps."

AWS has recently joined Mozilla and Microsoft Azure as a sponsor of Rust. The king-pin of cloud uses Rust for performance-sensitive components in Lambda, EC2, and S3. 

Additionally, Deno, the new server-side JavaScript runtime and potential successor to Node.js, is written in Rust and offers first-class support for TypeScript, Microsoft's extension for large-scale JavaScript projects.  

However, while Rust has become well liked by developers, the project's recent survey found developers had difficulties adopting the language and that many felt Rust came with a steep learning curve.

Google assessed using Rust for Fuchsia, the potential successor to Android, but decided not to support Rust for end-developers because none of them uses it and because in general it's not a widely used language. 

This situation was borne out in Stack Overflow's 2019 survey of 90,000 developers, where 83% said Rust was their "most-loved" language, while only 3% of respondents said they use it. But this low base could help explain Rust's rapid growth on GitHub, where Rust was the second fastest growing language behind frontrunner Dart. 

The Rust project also detailed some statistics to show how much Rust has grown thanks to its community of contributors: 

  • Rust has been voted 'Most Loved Programming Language' every year in the past four Stack Overflow developer surveys since it went 1.0.
  • This year alone, the project has served over 2.25 petabytes of different versions of the compiler, tooling, and documentation.
  • In the same period, the project has served over 170TB of crates to roughly 1.8 billion requests on crates.io, doubling the monthly traffic compared with last year.
  • More on programming language Rust
  • Programming language Rust's adoption problem: Developers reveal why more aren't using it  
  • Google programming language scorecard: How C, C++, Dart, Rust, Go rate for Fuchsia
  • Developers love Rust programming language: Here's why
  • Microsoft: We're creating a new Rust-like programming language for secure coding
  • Programming languages: Kotlin rises fastest but JavaScript lures millions more developers
  • Microsoft opens up Rust-inspired Project Verona programming language on GitHub
  • Brave defies Google's moves to cripple ad-blocking with new 69x faster Rust engine
  • How to install Rust on Linux TechRepublic 
  • Comments

    Popular posts from this blog

    Why Now Is The Time For Industry To Unlock The Full Potential Of IoT

    When British technologist Kevin Ashton coined the phrase “internet of things” (IoT) in 1999, the world was only just getting acquainted with the nascent network of networks and how to access and use its many applications. In the more than two decades since, it has grown increasingly difficult to imagine a world in which our economies and communities were not supported and connected via the World Wide Web and the devices we use to access it. The number of firms that have incorporated IoT technologies into their businesses grew from 13% in 2014 to about 25% globally in 2019. In countries such as the United States, Germany, France and China, the rate of IoT adoption among enterprise-size commercial organizations exceeded 85%, according to a 2019 survey by Microsoft. And recent analyses from IDC predicted there will be 41.6 billion internet-connected devices by 2025, as worldwide commercial and consumer spending on IoT will exceed $1 trillion within the next three years. But the diffusion ...

    Smartphones, laptops, IoT devices vulnerable to new BIAS Bluetooth attack

    Academics have disclosed today a new vulnerability in the Bluetooth wireless protocol, broadly used to interconnect modern devices, such as smartphones, tablets, laptops, and smart IoT devices. The vulnerability, codenamed BIAS (Bluetooth Impersonation AttackS), impacts the classic version of the Bluetooth protocol, also known as Basic Rate / Enhanced Data Rate, Bluetooth BR/EDR, or just Bluetooth Classic. The BIAS attack The BIAS security flaw resides in how devices handle the link key, also known as a long-term key. This key is generated when two Bluetooth devices pair (bond) for the first time. They agree on a long-term key, which they use to derive session keys for future connections without having to force device owners to go through the long-winded pairing process every time the Bluetooth devices need to communicate. Researchers said they found a bug in this post-bonding authentication process. The flaw can allow an attacker to spoof the identity o a previously paired/bonded devi...