Rust

Rust is a programming language that refuses to build your program at all if it contains the memory mistakes behind most serious security holes.

Also known as Rust language Rust lang systems programming language

Definition

Rust is a programming language for software that is not allowed to fail. You find it in operating systems, browser engines, and the small pieces that run under everything else for years without anyone touching them. It is fast, and strict in a way that surprises people from other languages, and that strictness is the point.

To see why, you need one idea about how a computer works: a program asks for memory, uses it, then hands it back. Trouble starts when it keeps using a piece it already handed back, or writes past the space it was given. Those two mistakes sit behind most serious security holes ever found in software of this kind, and that is not a guess. Microsoft and Google each counted the bugs in their own code and landed near the same figure, about seven in ten.

Rust's answer is unusual, because it does not catch the mistake while the program runs. It refuses to build the program at all. The compiler follows who owns each piece of memory and how long it lives, so if your code could touch something already gone, the build stops. Other safe languages use a cleaner that runs beside the program and pauses it now and then. Rust has no cleaner, so it stays quick enough for work where a pause is not allowed, and that mix is why it shows up in security-sensitive projects.

Now the part nobody warns you about: Rust is slower to write, and the first month feels like an argument with the compiler. Developers who know it well are fewer and cost more, so for a booking site or a shop system the trade is bad. An ordinary web application language will finish sooner and for less money. Rust earns its price in a narrow place: a device you cannot easily update, a part that opens files from strangers, or a service under steady attack.

One use does reach ordinary products: a hard piece of logic written once in Rust can go into both an Android and an iPhone app. The rules then live in one place instead of two. Linkysoft suggests that only when the logic really is hard, because every extra language is another skill the team must keep. If a supplier proposes Rust, ask what actually breaks when that part fails, and a good answer names something real. When it stays vague, Linkysoft would rather put the money into a plain mobile app and a proper security review.

Questions about Rust

Is Rust hard to learn?
Harder than most at the start. The compiler rejects code that other languages would accept, and it takes a few weeks before the rules feel normal instead of annoying.
Should my business system be written in Rust?
Usually no. A booking, shop or clinic system is built faster and cheaper in a common web language, and the advantage Rust offers does not show up there.
Does Rust make my software secure?
It removes one family of bugs, the memory ones. It does nothing about a weak password, a wrong permission or a database left open, and that is where most break-ins actually start.
Can Rust work with the code we already have?
Yes. It is normally added one part at a time, beside the existing program, so you can protect the risky piece without rewriting everything around it.
Are Rust developers expensive?
They cost more and there are fewer of them. Ask any supplier who will maintain the code in three years, because that answer matters more than the build price.

Still not sure how this applies to your project?

Tell us what you are building and we will answer in plain language.