Continuiamo il nostro viaggio alla scoperta del linguaggio Rust, uno dei linguaggi di programmazione di sistemi più apprezzati per prestazioni, affidabilità e sicurezza della memoria.

In questo episodio vedremo mooolto più codice in azione, infatti analizzeremo la sintassi (es. controllo del flusso, funzioni e match) ed esploreremo i concetti architetturali fondamentali che rendono Rust unico, tra cui l’Ownership e il Borrowing.

Esploreremo per la prima volta Rust, uno dei linguaggi di programmazione più discussi e apprezzati nell’ambito dello sviluppo software moderno.

L’obiettivo della sessione è muovere i primi passi pratici con il linguaggio: compileremo il classico “Hello, World!”, analizzeremo la sintassi di base e affronteremo i concetti fondamentali che rendono Rust unico, tra cui il suo approccio alla gestione della memoria, la sicurezza dei tipi e la gestione della concorrenza.

Se te lo sei perso, puoi guardare l’episodio precedente!

📍 Cosa faremo in diretta:

  1. Setup e sintassi base: Inizializzazione dell’ambiente di sviluppo con Cargo e analisi della struttura di un programma Rust.
  2. Tipi di dato e controllo di flusso: Tipi primitivi, mutabilità delle variabili, funzioni e costrutti condizionali/iterativi.
  3. Ownership (Proprietà): Come Rust gestisce la memoria a tempo di compilazione senza un Garbage Collector.
  4. Borrowing e Riferimenti: Regole di prestito della memoria (& e &mut) per prevenire data race ed errori a runtime.

🎯 Argomenti affrontati:

  • Sintassi di base e immutabilità di default (let vs let mut)
  • Tipi di dato e differenza tra stringhe “letterali” e “oggetto”
  • Controllo di flusso (if, loop, while, for, match)
  • Funzioni, parametri e tipi di ritorno
  • Moduli, visibilità e loro importazione
  • Ownership e Borrowing: demo pratici

💡 Prerequisiti:

Nessun requisito specifico richiesto per Rust. La sessione è aperta a tutti: sviluppatori di altri linguaggi (come il sottoscritto), studenti, hobbisti e curiosi che vogliono comprendere la filosofia di questo linguaggio.