Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prefazione

Non è sempre stato così chiaro, ma il linguaggio di programmazione Rust è fondamentalmente un linguaggio di emancipazione: indipendentemente dal tipo di codice che stai scrivendo ora, Rust ti permette di spingerti più avanti, di programmare con sicurezza in una più ampia varietà di ambiti rispetto a prima.

Prendiamo, ad esempio, il lavoro a “livello di sistema” che si occupa dei dettagli di basso livello della gestione della memoria, della rappresentazione dei dati e della concorrenza. Tradizionalmente, questo regno della programmazione è considerato arcano, accessibile solo a pochi eletti che hanno dedicato gli anni necessari per evitare le sue famigerate insidie. E anche coloro che lo praticano lo fanno con cautela, per evitare che il loro codice sia esposto a exploit, crash o corruzione.

Rust abbatte queste barriere eliminando le vecchie insidie e fornendo un set di strumenti amichevoli e raffinati per aiutarti nel percorso. I programmatori che hanno bisogno di “immergersi” nel controllo di livello inferiore possono farlo con Rust, senza assumersi il rischio abituale di crash o falle di sicurezza e senza dover imparare i minimi dettagli di una toolchain volubile. Meglio ancora, il linguaggio è progettato per guidarti naturalmente verso un codice affidabile ed efficiente in termini di velocità e utilizzo della memoria.

I programmatori che già lavorano con codice di basso livello possono usare Rust per aumentare le loro ambizioni. Ad esempio, introdurre il parallelismo in Rust è un’operazione relativamente a basso rischio: il compilatore rileverà i tipici errori al posto tuo. E puoi affrontare ottimizzazioni più aggressive nel tuo codice con la certezza di non introdurre accidentalmente crash o vulnerabilità.

Ma Rust non si limita alla programmazione di sistemi di basso livello: è abbastanza espressivo ed ergonomico da rendere le applicazioni CLI, i server web e molti altri tipi di codice abbastanza piacevoli da scrivere - troverai semplici esempi di entrambi più avanti nel libro. Lavorare con Rust ti permette di costruire competenze che si trasferiscono da un dominio all’altro; puoi imparare Rust scrivendo un’applicazione web, poi applicare quelle stesse competenze per programmare il tuo Raspberry Pi.

Questo libro abbraccia appieno il potenziale di Rust per potenziare i suoi utenti. È un testo amichevole e accessibile che ti aiuterà a migliorare non solo la tua conoscenza di Rust, ma anche la tua capacità e fiducia come programmatore in generale. Quindi tuffati, preparati a imparare e benvenuto nella community di Rust!

— Nicholas Matsakis and Aaron Turon