Contattataci

Struttura del corso

Introduzione

  • Cos’è Rust?
  • Rust rispetto ad altri linguaggi di programmazione
  • Panoramica sulle caratteristiche e sull’architettura di Rust

Comprensione di base di Rust

  • Il ciclo di vita di un programma scritto in Rust
  • Funzionamento interno di Rust a livello sistemico
  • Sicurezza della memoria e meccanismi di proprietà nei programmi Rust

Avvio alla programmazione con Rust

  • Configurazione dell’ambiente di sviluppo
  • Installazione di Rust come ambiente di sviluppo software
  • Impostazioni iniziali dell’ambiente di lavoro con Rust
  • Utilizzo del gestore di pacchetti Cargo

Sintassi e concetti fondamentali

  • Variabili e tipi di dati in Rust
  • Controllo del flusso e strutture cicliche
  • Funzioni e moduli nel codice Rust
  • Concetti di proprietà e prestito delle risorse in Rust

Gestione degli errori e situazioni di panico

  • Trattamento degli errori tramite i tipi Result ed Option
  • Comportamenti diversi legati al verificarsi di un panico: “unwinding” o “aborting”
  • Definizione e gestione personalizzata degli errori nel codice Rust

Gestione della memoria in Rust

  • Differenze tra allocazione di memoria nello stack e nell’heap
  • Uso di puntatori e riferimenti in Rust
  • Amministrazione dinamica della memoria con strutture come Box e i blocchi “unsafe”

Strutture dati e tipi enumerativi nella programmazione di sistemi

  • Definizione e manipolazione delle struct in Rust
  • Creazione ed utilizzo degli enum nel linguaggio Rust
  • Abbinamenti di pattern nel contesto della programmazione con Rust

Interfacciamento con C e codice a basso livello

  • Integrazione tra Rust, C e C++ in progetti software.
  • Ruolo della FFI (Foreign Function Interface) nell’integrazione di codici eterogenei.
  • Lavoro con puntatori grezzi e codice caratterizzato da specifiche restrizioni di sicurezza (“unsafe”).

Concorrenza e sincronizzazione nei sistemi informatici

  • Modelli concorrenti applicabili alla programmazione dei sistemi.
  • Schemi di sincronizzazione come Mutex, RwLock e Condvar per garantire coerenza tra processi paralleli.
  • Utilizzo dei canali di comunicazione e meccanismi di scambio messaggi.

Eseguire il debug nei programmi Rust e risolvere eventuali problematiche

  • Strumenti e metodologie utilizzabili per analisi diagnostica dei programmi scritti in Rust.
  • Tecniche di profilazione e valutazione prestazionale.
  • Identificazione e risoluzione degli errori più comuni nel contesto della programmazione di sistemi.

Riepilogo e prospettive future

Requisiti

  • Conoscenza di base dei concetti della programmazione
  • Familiarità con almeno un linguaggio di programmazione (ad esempio C o C++)

Destinatari

  • Sviluppatori
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative