Come molti altri colleghi non finisco mai di esplorare le nuove tecnologie e di recente ho deciso di approfondire il funzionamento di Rust, di cui fino ad ora avevo soltanto sentito parlare. Mi ero avventurato nel mondo di GO nel recente passato e ne avevo valutato l’eventuale utilizzo nei miei scenari produttivi, ma alla fine il vecchio Python vince sempre, perché la sua flessibilità e la sua velocità di sviluppo ne fanno un’arma letale, anche se le sue prestazioni non sono ovviamente all’altezza dei linguaggi compilati.
Rust è un linguaggio senza compromessi, “close to the metal”, come si suol dire, ovvero che garantisce le prestazioni assolute, grazie ad uno speciale modello di memoria, che rende sicuro l’utilizzo senza far uso di garbage collector, come invece fa GO. Non pensate di poterlo imparare in un’ora… ma d’altra parte il tempo speso nell’impararlo, anche se non lo utilizzerete mai, sarà ben speso, se non altro per capire concetti come lo Stack e l’Heap e come la memoria viene utilizzata.
In questo caso Rust mi interessa non per sostituire Python, ma piuttosto come strumento complementare in scenari in cui dovessi avere bisogno delle prestazioni assolute e, non da ultimo, perché ci si possono scrivere dei moduli richiamabili da Python. In questo modo si può combinare il meglio dei due mondi, utilizzando un linguaggio veloce e dinamico come Python, ma creando dei moduli più performanti ove fosse necessario.
Per chi volesse approfondire la conoscenza di Rust, ecco qualche link:
- Il sito web ufficiale di Rust.
- Dal sito web ufficiale consiglio l’ottimo “The Rust programming language”.
- Comprendere il modello di memoria di Rust.
- Richiamare Rust da Python.