Passa al contenuto principale

Showcase

Il modo migliore per predire il futuro è inventarlo.

Alan Kay, informatico, pioniere della programmazione a oggetti

Ogni capitolo del libro segue più o meno la stessa struttura: una citazione d’apertura, un po’ di prosa, qualche definizione, un blocco di codice che gira davvero, un quiz alla fine. Questa pagina isola ciascuno di quei pezzi e li mostra uno per uno, con una riga su cosa fa e perché lo trovi lì. Comoda prima di aprire il primo volume, o quando un componente ti sembra familiare ma non ricordi bene come si usa.

La citazione d’apertura​

La frase di Alan Kay qui sopra, con il bordo a fascio di luce e l’attribuzione in corsivo, è il componente <Epigraph>. Ogni capitolo — e questa pagina non fa eccezione — apre con una frase pertinente, tratta da chi ha scritto codice o pensato all’informatica prima di noi, per mettere in prospettiva l’argomento prima ancora della prima riga di teoria.

Codice inline con i colori giusti​

Nella prosa, i riferimenti al codice non sono tutti uguali: una parola chiave come for non è la stessa cosa di una funzione come print() o di una stringa come "ciao". Il componente <InlineCode> assegna un colore semantico a ciascun tipo: il colpo d’occhio sulla pagina distingue keyword, funzioni e stringhe senza dover leggere la frase per intero.

Termini con la definizione a un clic​

Quando compare un termine tecnico nuovo — per esempio un linguaggio come Python — non serve saltare a un glossario in fondo al libro. Il tooltip mostra la definizione lì, sotto il cursore, e si chiude cliccando fuori o con Esc.

La segnaletica del capitolo​

I capitoli usano callout colorati per separare i contenuti per funzione: una definizione non si legge come un avvertimento, un riepilogo non si legge come un prerequisito. Sono tredici tipi in tutto; qui ne vedi due.

Python che gira davvero​

Ogni blocco di codice interattivo del libro è un editor vero, con Python eseguito nel browser via Brython: nessuna installazione, nessun server. Modifica il codice qui sotto e premi Esegui.

Il pulsante “Spiegamelo facile” prepara un prompt pronto da incollare nel tuo LLM preferito, per quando una riga non torna.

Un database SQLite vero​

Nel volume dell’Archivista i dati non restano chiusi in variabili: finiscono in un database. Il blocco qui sotto interroga un vero SQLite compilato in WebAssembly, sullo stesso dataset di libri e autori usato nel volume.

SELECT l.titolo, a.nome AS autore, l.anno
FROM libri AS l
JOIN autori AS a ON a.id = l.autore_id
WHERE l.anno > 1950
ORDER BY l.anno;

Guardare un algoritmo pensare​

Un algoritmo di ordinamento spiegato a parole resta astratto finché non vedi le barre muoversi. Qui sotto il bubble sort, passo per passo, con lo pseudocodice sincronizzato a fianco.

bubble_sort.py
O(n²)
Bubble sortConfronta coppie adiacenti e le scambia finché non sono in ordine.

00

ConfrontoScambioOrdinato

Verifica sul posto​

Alla fine di una sezione, un quiz a scelta multipla controlla se il concetto è passato, con un feedback diverso per ogni risposta, anche quelle sbagliate.

Mettiti alla prova

Cosa stampa questo codice?

for i in range(3):
print(i)

Ritrovi tutti questi elementi nei quattro volumi, in proporzioni diverse: molto PyRunner nel Programmatore, molto SQLRunner nell’Archivista, i quiz ovunque. Se preferisci vederli al lavoro dentro un capitolo vero invece che isolati qui, il Volume 1 comincia da qui.