Programmazione Elixir
Una guida completa alla programmazione funzionale e concorrente con Elixir. Copre la transizione dal pensiero orientato agli oggetti a quello funzionale, il pattern matching, l'immutabilità, il modello attore per la concorrenza e la creazione di sistemi distribuiti robusti con OTP.
Panoramica del corso
Riepilogo del Contenuto
Una guida completa alla programmazione funzionale e concorrente con Elixir. Copre la transizione dal pensiero orientato agli oggetti a quello funzionale, il pattern matching, l'immutabilità, il modello attore per la concorrenza e la creazione di sistemi distribuiti robusti con OTP.
Padroneggia l'arte di costruire sistemi concorrenti resistenti attraverso la bellezza della programmazione funzionale.
Autore: Dave Thomas
Ringraziamenti: José Valim, Corey Haines, Bruce Tate, Jessica Kerr, Anthony Eden, Chad Fowler, Kim Shrier, Candace Cunningham, e Potomac Indexing.
Obiettivi di Apprendimento
- Confrontare il modello di trasformazione dei dati di Elixir con la programmazione tradizionale basata sullo stato.
- Configurare la shell interattiva di Elixir (IEx) ed eseguire codice Elixir tramite script e compilazione.
- Applicare l'operatore di confronto (
=), l'operatore pin (^) e il carattere jolly (_) per destrutturare e validare i dati. - Spiegare le implicazioni teoriche e pratiche dell'immutabilità sulle prestazioni e sulla gestione della memoria.
- Identificare e utilizzare i tipi predefiniti di Elixir, tra cui tipi Value, System e Collection.
- Applicare le regole di ambito delle variabili e l'espressione
withper gestire trasformazioni dati complesse. - Creare e invocare funzioni anonime usando sia la notazione standard che quella di cattura (
&). - Implementare funzioni nominali all'interno di moduli usando pattern matching e ricorsione per gestire logiche complesse.
- Applicare le clausole di guardia e i parametri predefiniti per controllare il flusso di esecuzione delle funzioni.
- Deconstruire e Costruire Liste: Utilizzare il pattern head/tail per navigare e costruire strutture ricorsive di liste.