Lezione 1 di 7 · 10 min di lettura
Benvenuto a bordo
Cos'è Gleam, perché vale la pena impararlo e come funziona questo percorso. Poi installiamo tutto il necessario.
Cosa stai per imparare
Stai per imparare Gleam, un linguaggio di programmazione piccolo, amichevole e sorprendentemente solido. Serve a scrivere programmi che non si rompono: servizi web, strumenti da riga di comando, sistemi che devono restare accesi per anni, e perfino pagine web interattive.
Gleam ha tre caratteristiche che lo definiscono, e che incontrerai in ogni lezione:
- È funzionale. I programmi si costruiscono combinando funzioni, e i dati non si modificano mai: se vuoi un valore diverso, ne crei uno nuovo.
- È tipizzato staticamente. Il compilatore controlla prima dell’esecuzione che ogni pezzo di codice riceva il tipo di dato giusto. Niente sorprese a programma avviato.
- Gira sulla BEAM. Il tuo codice viene tradotto in Erlang e fatto girare dalla stessa macchina virtuale che da decenni tiene in piedi centralini telefonici e servizi di messaggistica usati da miliardi di persone. (E volendo, Gleam sa anche tradursi in JavaScript.)
Dettagli nerd Cos'è una macchina virtuale?
Il processore del tuo computer capisce solo il suo codice macchina: istruzioni elementari codificate come numeri binari, diverse per ogni famiglia di processori (x86-64 nella maggior parte dei PC, ARM negli smartphone e nei Mac recenti).
Una macchina virtuale è un programma che finge di essere un processore: esegue un suo codice semplificato, il bytecode, uguale su ogni computer. È lei, poi, a tradurlo per il processore vero. Il vantaggio: lo stesso bytecode gira identico su Linux, macOS e Windows, e la macchina virtuale può offrire servizi che un processore non ha, come far girare milioni di piccoli processi contemporaneamente e riavviare in automatico quelli che si guastano.
La BEAM è la macchina virtuale di Erlang, un linguaggio nato negli anni ‘80 per le centrali telefoniche, dove “il sistema si è bloccato” non era un’opzione. Gleam ne eredita tutta la robustezza.
Perché proprio Gleam?
Ci sono tre motivi per cui questo percorso ha senso, anche se non hai mai programmato:
- È piccolo. Gleam ha pochissime regole, e i suoi autori le tengono poche di proposito. Niente classi, niente ereditarietà, niente dieci modi diversi di fare la stessa cosa: il linguaggio intero ti sta in testa.
- È gentile. Gleam non ha
null, non ha eccezioni, non fa conversioni nascoste tra tipi. Quando qualcosa non va, il compilatore te lo dice prima di avviare il programma, con messaggi chiari e spesso con il suggerimento giusto. - È pratico. Arriva con tutto incluso: un unico programma,
gleam, crea progetti, compila, esegue, formatta il codice, scarica librerie e lancia i test.
Come funziona questo percorso
Questo non è un manuale da consultare: è un percorso. Le lezioni vanno lette in ordine, perché ognuna usa quello che hai imparato in quella prima. Dentro ogni lezione troverai:
- Codice colorato che puoi copiare con un click (il bottone “Copia” in alto a destra di ogni blocco).
- Riquadri come quelli qui sopra: consigli, curiosità, avvertimenti, e i riquadri “Se vieni da altri linguaggi” per chi ha già programmato.
- Dettagli nerd: riquadri chiusi che si aprono con un click e spiegano cosa succede dentro il computer (memoria, bit, macchina virtuale, compilatore…). Non servono per andare avanti, ma è lì che si capisce davvero come funziona la macchina.
- Quiz da fare direttamente qui nell’app, con la spiegazione subito dopo.
- Esercizi da fare sul tuo computer: scrivi il programma, lo esegui, e torni qui a dire cosa ha stampato. L’app controlla se hai fatto centro.
Niente sandbox nel browser, e non è una mancanza: il compilatore vero, sul tuo computer, è lo strumento con cui lavorerai sempre. Tanto vale fare amicizia subito.
Proviamo subito un quiz, così vedi come funziona:
Quiz
Cosa fa il compilatore di Gleam quando lanci un programma?
Cosa installare
Per programmare in Gleam servono due cose:
- Gleam, cioè il programma
gleam: compilatore, gestore di progetti e di librerie, formattatore, tutto in uno. - Erlang, cioè la BEAM su cui girerà il tuo codice. Insieme a Erlang conviene installare rebar3, lo strumento di build di Erlang, che Gleam usa quando una libreria contiene codice Erlang.
Le istruzioni ufficiali, sempre aggiornate, sono su gleam.run/install: scegli il tuo sistema operativo e segui i passaggi. Qui trovi i casi più comuni.
Linux
Su Arch Linux (e derivate come Manjaro, EndeavourOS) basta un comando:
sudo pacman -S gleam erlang rebar3Su Ubuntu 25.04 o più recente, Erlang e rebar3 arrivano da apt:
sudo apt install erlang-dev rebar3Le versioni più vecchie di Ubuntu hanno un Erlang troppo datato: in quel caso segui le istruzioni del sito ufficiale, che propone alternative come il version manager asdf o Homebrew.
Per gleam stesso, sulle distribuzioni che non lo pacchettizzano, scarica l’archivio precompilato per il tuo processore dalla pagina dei rilasci su GitHub (github.com/gleam-lang/gleam/releases), estrailo e mettilo in una cartella del PATH:
tar xf gleam.tar.gz
chmod +x gleam
mv gleam ~/.local/bin/Dettagli nerd Cos'è il PATH?
Quando scrivi gleam nel terminale, la shell (il programma che interpreta i tuoi comandi) non cerca in tutto il disco: scorre una lista di cartelle, in ordine, e lancia il primo file eseguibile con quel nome che trova. Quella lista è la variabile d’ambiente PATH: una stringa di cartelle separate da : (su Windows da ;). Puoi vederla con echo $PATH.
Su molte distribuzioni ~/.local/bin è già nel PATH. Se non lo è, aggiungilo con echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc (o ~/.zshrc se usi zsh) e apri un terminale nuovo: il terminale già aperto ha letto la sua copia della lista all’avvio e non si accorge delle modifiche.
macOS
Con Homebrew è un comando solo, e Homebrew si porta dietro anche Erlang:
brew install gleamSe vuoi installare Erlang e rebar3 esplicitamente: brew install erlang rebar3.
Windows
Con winget, il gestore di pacchetti già incluso in Windows, apri PowerShell e lancia:
winget install --id Gleam.Gleam
winget install --id Erlang.ErlangOTPPoi chiudi e riapri il terminale, così il nuovo PATH viene letto.
Verifica che tutto funzioni
Apri un terminale e scrivi:
gleam --versionDovresti vedere qualcosa del genere (il numero cambia da versione a versione):
gleam 1.18.1Poi controlla che ci sia anche Erlang:
erl -versionErlang (SMP,ASYNC_THREADS) (BEAM) emulator version 15.2.7.4Il numero stampato da erl è la versione dell’emulatore della BEAM, non quella di Erlang/OTP: non ti serve ricordarlo, basta che il comando risponda. Questo corso è verificato con Gleam 1.18 ed Erlang/OTP 27 (2026). Una versione più recente va benissimo.
Se il terminale risponde “comando non trovato”, il problema è quasi sempre il PATH: rileggi i passaggi qui sopra e ricorda di aprire un nuovo terminale dopo l’installazione.
Esercizio · sul tuo computer
Il tuo primo comando
- Installa Gleam ed Erlang seguendo le istruzioni per il tuo sistema.
- Apri un terminale e lancia
gleam --versionederl -version. - Crea una cartella dove metterai tutti gli esercizi di questo corso, per esempio
~/learn-gleam. Ci torneremo continuamente.
Quando entrambi i comandi rispondono con un numero di versione, hai finito. Il compilatore è installato e ti aspetta.
Cosa succede adesso
Nella prossima lezione scriviamo il primo programma. Sarà piccolo, ma lo smonteremo pezzo per pezzo, e alla fine saprai cosa fa ogni singola parola sullo schermo.