IL WEB
Il più grande vantaggio di Rust rispetto agli altri linguaggi di programmazione risiede nella sicurezza, che si raggiunge, tra le altre cose, con la gestione degli errori. Se durante la compilazione si verifica un errore che non si riesce a riparare, si avvia la cosiddetta macro “panic!” corrispondente, che sistema il tutto e invia una notifica di errore per non provocare danni.
Anche la gestione del salvataggio promette sicurezza. Il vantaggio sta nel fatto che Rust raggiunge la “memory safety” senza un “garbage collector”. Negli anni, in molti linguaggi di programmazione, la memoria è stata un punto d'attacco molto amato dagli hacker. Se una memoria si riempie, lo comunica come errore al sistema evitando così di creare una falla da sfruttare. Un “garbage collector” fa in modo che gli oggetti non necessari non spariscano dal sistema. Tuttavia, questo rallenta l'esecuzione del codice. Il compilatore di Rust rende il “garbage collector” obsoleto. Questo perché, già durante la fase di compilazione, viene verificata l'eventuale possibilità di errori in memoria.
In questo caso, però, le elevate funzioni di sicurezza non compromettono le prestazioni. Rust è un linguaggio per la programmazione di sistema come C/C++ e garantisce anche la stessa velocità durante l'esecuzione. Questo è collegato da una parte alla rinuncia a un “garbage collector” e dall’altra al fatto che gli “zero cost abstractions” garantiscono un’elevata velocità per tutta la durata. Quest’espressione significa semplicemente che si può programmare in astrazione senza dover rinunciare alle prestazioni per questa comodità.
Quest’ultimo fattore rende Rust un mix tra i linguaggi di programmazione ad alto livello e a basso livello. Similmente a C/C++, Rust è molto vicino all’hardware, che garantisce un’elevata velocità, ma può essere programmato in modo relativamente semplice, come noto ai linguaggi ad alto livello.
Inoltre sia i principianti sia i programmatori più avanzati possono orientarsi con Rust. Per quel che riguarda il suo utilizzo, il linguaggio si differenzia di poco dalle sue note alternative. Un grosso vantaggio risiede però nell’impegno con cui sono state concepite le notifiche di errore. Se altri linguaggi di programmazione comunicano solo gli errori criptici, Rust trasmette segnalazioni utili e significative su come riparare l'errore.