Continuiamo la serie di Hello, World introducendo un linguaggio di programmazione molto giovane ma molto amato: Rust.
Rust è un linguaggio di programmazione compilato (omonimo di un gioco per pc) sviluppato da Mozilla Research, la stessa Mozilla di Firefox.
Supporta diversi paradigmi di programmazione, fra i più noti e usati: object oriented, funzionale, e procedurale. Rust è progettato per essere un linguaggio adatto allo sviluppo di sistemi concorrenti e molto safe. Ad esempio, non è possibile avere null pointers e dangling pointers (puntatori ad aree di memoria non valide).
Non è presente un Garbage Collector: la liberazione della memoria viene gestita usando lo stesso idioma di C++, RAII (Resource allocation is initialization).
![Il logo di Rust](http://blog.informaticalab.com/wp-content/uploads/2016/09/Rust_programming_language_black_logo.svg_-300x300.png)
Sul lato prestazionale Rust raggiunge performance simili al C. Essendo però anche safe sul lato della memoria, Rust può essere utilizzato anche per lo sviluppo di kernel o comunque programmazione di sistema.
Nel sondaggio del 2016 condotto sulla comunity di programmatori di Stack Overflow, Rust è risultato il primo classificato per la domanda “Linguaggio di programmazione più amato”.
Esiste un sito (che ricorda uno simile per il linguaggio Go) chiamato: rustbyexample.com che, nel caso avessimo già esperienza di programmazione in linguaggi differenti, ci permette di conoscere molto velocemente i vari costrutti di Rust.
L’Hello World
Vediamo infine l’Hello World di questo linguaggio:
fn main() { // Print text to the console println!("Hello World!"); }
Salviamolo in un file “helloworld.rs“. Per poterlo compilare avremo bisogno del compilatore di Rust, rustc.
Dopo di che, da linea di comando, compiliamo con:
rustc helloworld.rs
Questo genererà nella stessa directory, un file chiamato helloworld. Per eseguirlo ci basta dire:
./helloworld
Et voilà! Il nostro Hello World in Rust!
La domanda infine è: conviene imparare Rust?
E’ un linguaggio relativamente molto giovane, ma con grandi potenzialità e costrutti interessanti. Sicuramente se non avete esperienza con linguaggi tipo C/C++ potrebbe rivelarsi una valida alternativa.