Overslaan en naar de inhoud gaan

Waarom Rust niet roest en klaar is voor een opmars onder programmeurs

Heel snel programmeren kun je er niet mee. Ook is het niet de gemakkelijkste programmeertaal. Toch is Rust wel voor het vijfde jaar op rij de meest geliefde programmeertaal onder ontwikkelaars, althans volgens de Rust Foundation zelf. De reden: Rust behoedt ontwikkelaars voor het maken van fouten.
shiny code
© Shutterstock
Shutterstock

Aan de populariteitscijfers zou je het succes van Rust niet direct afleiden, constateert Dark Reading. In het jaarlijks overzicht van Stack Overflow onder bijna 60.000 ontwikkelaars zegt een magere 5,1% Rust te gebruiken. Maar wie het gebruikt, lijkt heel enthousiast, vooral vanwege de foutmeldingen. Rust dwingt tot het schrijven van correcte code door steeds te wijzen op fouten en suggesties te doen hoe het beter kan. De compiler stokt op sommige patronen in code die bekend staan dat ze makkelijk aanleiding geven tot buffer overflows, use-after-free kwetsbaarheden, double-free geheugenproblemen en null-pointer deferences. Daardoor zullen in code geschreven met Rust vrijwel nooit de kwetsbaarheden voorkomen die hoog scoren in de Common Vulnerability and Exposures (CVE)-lijst.

Rust is in 2006 ontwikkeld als een persoonlijk project van een werknemer van Mozilla. Tien jaar later werd de taal gebruikt voor een complete vernieuwing van de FireFox-browser. In 2019 verklaarde Microsoft Rust breed in te gaan zetten bij software-ontwikkeling, waaronder Windows. Inmiddels is de taal een opensourceproject geworden onder de Rust Foundation waaraan Microsoft, Google, Amazon en Huawei grote bijdragen leveren.

Ryan Levick, principal cloud developer advocate bij Microsoft stak in in 2019 in een blog al de loftrompet over Rust. "Wij geloven dat Rust de spelregels herdefinieert, als het aankomt op het schrijven van veilige systeemsoftware. Rust levert de prestaties en de controle om low-level systems te maken en stelt tegelijkertijd softwareontwikkelaars in staat robuuste en veilige code te schrijven."

Fouten maken blijft mogelijk

Overigens is het niet onmogelijk om met Rust slechte en onveilige code te schrijven. De taal legt beperkingen op en biedt daarom mogelijkheden om blokken code die niet passen in de voorgeschreven stramienen, te labelen als 'UNSAFE'. De compilercontrole slaat die blokken vervolgens over. Dat kan bijvoorbeeld wanneer de ontwikkelaar er zeker van is dat deze uitstap veilig geprogrammeerd is. Maar daarmee kunnen dus toch wel fouten binnensluipen in de software. Maar ook de Rust-compilercheck biedt geen absolute zekerheid omdat sommige kwetsbaarheden toch onontdekt blijven. Een overtuigend bewijs daarvan is te vinden op de site RustSec, die een lijst heeft van 250 kwetsbaarheden die met Rust kunnen worden geïntroduceerd.

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in