Vai al contenuto
Leo

Introduzione

Introduzione

Benvenuto. Questo è un libro su Leo, un linguaggio di programmazione pensato e scritto in italiano. Se non hai mai programmato, sei nel posto giusto: cominceremo dalla prima riga e non daremo nulla per scontato. Se programmi già in altri linguaggi, troverai lo stesso un terreno familiare — funzioni, classi, moduli, eccezioni, parallelismo — ma raccontato in una lingua che probabilmente parli ogni giorno.

💡 L'idea — Il programma è una ricetta

Pensa a una ricetta di cucina: elenca gli ingredienti e i passi nell'ordine giusto, e chi la segue ottiene il piatto. Un programma è la stessa cosa, con una differenza importante: il computer esegue i passi alla lettera, senza mai «capire cosa intendi». Se la ricetta dice «aggiungi il sale» ma non dice quanto, una persona improvvisa; il computer, no. Imparare a programmare è soprattutto imparare a essere precisi.

Che cos'è Leo

Leo è un linguaggio di programmazione completo in cui le parole chiave, i messaggi d'errore, la libreria e la documentazione sono tutti in italiano. Un programma Leo si legge quasi come una frase:

Leo
se voto >= 18 allora
    scrivi "Promosso"
altrimenti
    scrivi "Da ripassare"
fine

Non c'è bisogno di tradurre mentalmente if, then, else: le istruzioni dicono quello che fanno, nella lingua in cui pensi. Questo non è uno scherzo né un giocattolo. Dentro Leo ci sono i tipi di dato seri (interi senza limiti, decimali, denaro esatto, frazioni, date), le funzioni come valori, le chiusure, le eccezioni, i moduli, gli oggetti con l'ereditarietà, il parallelismo su più processori, le sequenze pigre e oltre novecento funzioni di libreria già pronte, dalla statistica al web, dalla crittografia alle immagini.

Leo gira sull'interprete Python. È una scelta importante e la raccontiamo con onestà: Leo non reinventa la macchina sottostante, si appoggia a una delle piattaforme più solide e collaudate al mondo. Da lì eredita stabilità, portabilità e la possibilità — per chi un giorno la vorrà — di attingere all'immenso ecosistema di pacchetti Python. Ma il linguaggio che scrivi e leggi è Leo: pulito, in italiano, coerente dall'inizio alla fine.

🦁 Curiosità — Il primo programma aveva quasi due secoli

Nel 1843 la matematica Ada Lovelace pubblicò, in appendice a una memoria tradotta dal francese, quello che è considerato il primo algoritmo pensato per essere eseguito da una macchina: una procedura per calcolare i numeri di Bernoulli sulla macchina analitica di Charles Babbage. Quella macchina non fu mai completata, e per vedere un vero computer si dovette aspettare circa un secolo. Il primo «programma», insomma, fu scritto per un calcolatore che non esisteva ancora.

La filosofia

Tre idee guidano tutto il progetto, e vale la pena nominarle subito perché tornano in ogni capitolo.

L'italiano non è una decorazione. Programmare è, prima di tutto, scrivere per essere capiti — dal computer e dalle persone. Una lingua vicina rende il codice più leggibile a chi lo scrive per la prima volta e più chiaro a chi lo rilegge dopo mesi. Quando un programma Leo si rompe, non ti trovi davanti un muro di inglese tecnico: l'errore ti spiega in italiano che cosa è successo, su quale riga, e spesso ti propone già la correzione.

La semplicità è una qualità, non una mancanza. In Leo le cose comuni si scrivono in modo breve e diretto. Stampare a schermo è scrivi; sommare i numeri di una lista è somma; scrivere un importo in lettere è euro_in_lettere. Ma semplice non vuol dire limitato: quando serve potenza, c'è. Il punto è che non devi pagare la complessità in anticipo, prima ancora di averne bisogno.

Niente magia nascosta. Leo preferisce dirti le cose. Non converte i tipi di nascosto ("3" + 4 è un errore, non un risultato a sorpresa); non crea variabili per un refuso; non lascia che un calcolo sbagliato passi inosservato. Molti controlli avvengono prima di eseguire il programma, così tanti errori si scoprono subito invece che a metà di un lavoro lungo.

Come è fatto questo libro

Questo è un libro che si legge in ordine. Non è un elenco di riferimento da consultare a salti (per quello ci sono la Guida al linguaggio e le schede di libreria in docs/); è un percorso che parte dal primo scrivi e arriva, pagina dopo pagina, a costruire applicazioni con finestre, app per il telefono e programmi distribuibili.

Il viaggio è diviso in cinque parti e un gruppo di appendici:

  • Parte I — Le basi. Il primo programma, le variabili e le costanti, i numeri in tutte le loro forme, i testi, le liste e i dizionari, e come prendere una "fetta" di una sequenza.
  • Parte II — Il flusso. Come il programma decide (se, scegli) e ripete (per ogni, mentre, ripeti), come si scrivono le funzioni e come si gestiscono gli errori.
  • Parte III — Organizzare. Classi e oggetti, l'ereditarietà, la divisione del codice in moduli, e il lavoro con file e cartelle.
  • Parte IV — Potenza. Il parallelismo, le sequenze pigre e un tour ragionato della libreria, area per area.
  • Parte V — Fare cose vere. Le interfacce grafiche con Leo Studio, le app per Android, la cybersecurity difensiva e la distribuzione dei programmi.
  • Appendici. Un riferimento rapido della sintassi, un catalogo degli errori più comuni, un confronto onesto con Python e un glossario.

Ogni capitolo ha la stessa forma: una spiegazione chiara, esempi che puoi copiare, e in fondo un piccolo «prova tu» per mettere subito le mani in pasta. Tutti gli esempi di questo libro sono stati eseguiti davvero con python3 -m leo prima di finire in queste pagine: quando leggi un output, è l'output reale del programma, non una ricostruzione a memoria.

Che cosa ti serve

Per seguire la prima metà del libro basta Python 3.10 o successivo e la cartella di Leo. Dalla riga di comando, un programma si esegue così:

Risultato
python3 -m leo saluto.leo

Nel resto del libro scriveremo semplicemente leo saluto.leo: su Windows è il collegamento Leo - riga di comando (o leo.bat), altrove è python3 -m leo. Per i capitoli con le finestre serve in più PySide6; lo installeremo a tempo debito. Per ora, apri un editor di testo qualunque: stiamo per scrivere il primo programma.


Una nota di metodo, prima di partire. Imparare a programmare non è imparare a memoria una lista di comandi: è prendere l'abitudine di provare. Tieni aperto un terminale accanto al libro. Quando incontri un esempio, scrivilo (non copiarlo e basta: scriverlo a mano fa la differenza), eseguilo, poi rompilo di proposito — cambia un numero, togli una parentesi, scambia due righe — e guarda che cosa dice Leo. Gli errori, in questo libro, non sono nemici: sono il modo più veloce per capire come funziona davvero il linguaggio.

Buona lettura, e buon divertimento.