Main content

Is Rust the strong foundational code CIOs need?

Mark Chillingworth Profile picture for user Mark Chillingworth June 8, 2023
Summary:
Secure and energy efficient, high-level language Rust could be a credible alternative to C and Java

Developing programming and coding technologies for open source observability. Programmer working in a software develop company office © REDPIXEL.PL - Shutterstock
(© REDPIXEL.PL - Shutterstock)

Rust is a word associated with cars, usually made in Britain during the 1970s and 80s. In 2023, Rust could well be the word on the lips of every developer, CTO and CIO and for far more positive reasons than chassis rot. 

As a newish high-level language, Rust provides business technology leaders with increased memory safety and, therefore, cybersecurity. In addition, Rust lowers the energy usage of the enterprise technology estate, attracts developer talent to your organization and is a language born of the cloud. CTOs and business leaders tell diginomica how they have taken a shine to Rust. 

Understanding Rust

Rust is defined as a high-level, general-purpose programming language, which Graydon Hoare, who was also involved in the Swift programming language, crafted in 2006. Initially developed by Hoare and his then employers, Mozilla, the browser provider, Rust became the second high-level language to be supported in the Linux kernel, alongside C, the language Hoare had in mind when creating Rust. And the name, it is actually a reference to rust fungi, a plant known for its hardiness. 

Rust has many language similarities to C and C++ and supports concurrent systems programming. Memory safety, type safety and no data races have made Rust a very secure language.

To some, Rust is the heir to the throne that C and C++ have held for some time. All three languages deliver compact and fast code. Where Rust differs is in the memory safety, which reduces the opportunities for memory bugs to be introduced. Stuart Harris, Chief Scientist and a Founder at Red Badger, a digital products consultancy, adds: 

Rust started as a system-level language, but it is also a high-level language, so you can use it where you might use Java or Ruby. It is really portable and works well in embedded environments.

Early adopters, perhaps unsurprisingly, are pure digital businesses such as Amazon, Discord, Dropbox, Facebook, Google and Microsoft. However the embedded opportunities of Rust have brought the language to the attention of the automotive, aviation, energy and utilities sectors. 

Security and efficiency built-in

Rust's memory safety is attracting developers and business technology leaders, says Executive Director & CEO of the Rust Foundation, Rebecca Rumbul: 

Rust is a relatively new language, and the memory safety makes it a really compelling language.

She adds that the Heartbleed vulnerability of 2014 has led to a wider debate on security by design, and therefore a language with inherently good security credentials is attracting interest. Paul Clark, CIO for digital bank Chase, part of JP Morgan Chase, adds: 

It is superfast to execute, and it provides you with good memory security. Rust is opinionated about how it sets standards, and the benefit of that is there is a lack of sprawl in the application libraries.

CTOs and CIOs are not only looking for increased cybersecurity, but future technology developments will need to help the organization be more environmentally sustainable. Harris at Red Badger says Rust is one of the first languages he's worked with that offers both - at the same price: 

Up until now you couldn’t have safety for free — to get safety, high level languages like Java and C# pay an efficiency tax through their garbage collectors. With Rust you get safety and performance.

CIO Clark at Chase agrees, adding that Rust was created for enterprise cloud computing: 

As we grow this creates a burden on engineers and that can lead to engineers writing code that is less efficient, but with Rust, you can be 70% more energy efficient than if an application is built in Java, which consumes a huge amount of energy. 

Java uses just-in-time compiling, and that means all the additional frameworks for active frameworks have a large load base. Rust makes very good use of its resources, so the same service using Rust on AWS uses virtually no power in comparison. If you have a large technology estate with high volume resources, Rust will save you energy.

Skills and development

Using the latest languages is one way to attract and retain talent, especially developers and both Rumbul and Clark cite this as a benefit to adopting Rust. The annual Stack Overflow Developer Survey for 2022 found 9% had done significant development in Rust. Rust has also been one of the most popular languages since 2016 and continues to be so. Harris says: 

If CIOs use Rust, that would make them a destination employer.

Clark at Chase agrees: 

To attract the best talent, you have to give them an environment they want to work within, and if you are not offering Rust, then you are in a diminishing market.

Clark, though adds that there are business challenges to this for his CIO and CTO peers: 

Java gets taught at universities, so there are lots and lots of Java engineers, which makes Java an easy choice. As a CIO, hundreds of engineers available and a steady supply of new engineers is an important factor to consider.

There are Rust boot camps already forming, but the language has a reputation for being hard to learn. Red Badger CTO Harris says: 

Rust takes months to learn and maybe six months to become proficient, which is longer than Go or Java.

But Rumbul, at the Rust Foundation, disagrees: 

It has been said that Rust has a steep learning curve, but that is over-stated. You do have to unlearn some traits from other languages.

Why CIOs should go rusty

Enterprise CIOs, more often than not, have an estate with significant levels of legacy applications, so Rust is not going to sweep through their organizations, ripping and replacing existing code languages. However, the pace of change in organizations and the desire for increased digital processes and customer services, and the need to be more environmentally sustainable will create the situation for Rust to flourish as the language for new developments. The Rust community is confident, Rumbul says: 

I would be astounded if we are still having this conversation in five years' time. There will be wider scale adoption as Rust goes hand in hand with the migration to the cloud.

Rust is not new. But there is definitely a momentum gathering; asked why Rust has not broken out into enterprises beyond the digital titans, Rumbul says: 

CIOs and CTOs may be nervous about a language they didn't learn. A lot of companies avoid investing in a language that is owned by one vendor, but once it was spun out of Mozilla, that gave the industry more confidence. We are aware of quite a few industries that are looking at it, and expect to see it in banking and utilities; these are sectors that have safety-critical systems.

Clark adds: 

No one ever got fired for using Java; it's a bit like IBM in the past. But you have to skate to where the puck is going, so CIOs have to keep an eye on it. 

At Chase, we have put in place an architecture that means we can start to introduce new languages into the estate, and we want to identify services that we could build in Rust and then containerize them. This year I expect there to be a new service in Rust from us.

My take

Technology leaders face a wealth of challenges. As has been well documented, customers and the organization are demanding new digital ways of interacting with the business or carrying out tasks. A slew of legislation, such as the European Corporate Sustainability Reporting Directive and the EU Sustainable Finance Disclosure Regulation, along with customer and ESG expectations, mean the technology stack has to be more sustainable. To meet these competing demands, CTOs and CIOs will need to look to new foundations that enable both. It could well be the case that CIOs and CTOs will need to make sure they go rusty. 

 

 

 

 

 

 

 

 

Loading
A grey colored placeholder image