Rust, il linguaggio di programmazione che sta sostituendo C++

Google riporta che gli sviluppatori di Rust sono due volte più produttivi delle squadre C++.

Avatar di Valerio Porcu

a cura di Valerio Porcu

Senior Editor

Google ha dichiarato alla conferenza Rust Nation UK a Londra che i team che utilizzano Rust sono due volte più produttivi rispetto a quelli che usano C++. Lars Bergstrom, direttore ingegneristico di Google, ha parlato dell'esperienza della società nel migrare progetti da Go o C++ a Rust.

Tale migrazione si è resa sempre più necessaria perché Rust è un linguaggio memory-safe, cioè che gestisce la memoria in modo differente e intrinsecamente più sicuro. Lo stesso governo statunitense di recente si è raccomandato di abbandonare C e C++ proprio per problemi di sicurezza. 

Con l'aumento delle vulnerabilità legate alla memoria nei grandi codebase, Rust emerge come una delle soluzioni per mitigare tali problemi, essendo un linguaggio memory-safe.

Non tutti sono d’accordo su tale visione, tuttavia: Bjarne Stroustrup e altri, ad esempio, sostengono che C++ possa eguagliare Rust in termini di sicurezza della memoria, gli esempi di successo di Rust, come quelli di Google, dimostrano il contrario.

Tuttavia secondo gli esperti di Google ci sarebbe anche un aumento della produttività e una diminuzione degli sforzi richiesti per sviluppare e mantenere i servizi scritti in Rust. Inoltre, i sondaggi interni di Google indicano un alto livello di fiducia nella correttezza del codice Rust, con l'85% degli sviluppatori che ritengono che il loro codice Rust sia più corretto rispetto ad altre lingue.

Che cos’è un linguaggio memory safe?

Un linguaggio "memory safe" è un linguaggio di programmazione progettato per prevenire o minimizzare gli errori legati alla gestione della memoria, come accessi illegali alla memoria o riferimenti a dati non validi. Questi linguaggi sono progettati per garantire che le operazioni sulla memoria siano controllate e sicure, riducendo così il rischio di errori critici che possono causare crash del programma o vulnerabilità di sicurezza. 

In sostanza, un linguaggio memory safe offre una maggiore protezione contro errori comuni di programmazione legati alla memoria, contribuendo a migliorare la stabilità e la sicurezza del software. Ma proprio perché non ci sono errori di questo genere, i software scritti con esso sono più sicuri perché hanno meno vulnerabilità che poi criminali e malintenzionati in generale possono sfruttare. 

Rust è un esempio di linguaggio memory safe, progettato con un sistema di gestione della memoria che impedisce molti tipi di errori comuni presenti in altri linguaggi come C e C++.

Immagine di copertina: mihalec