Come Funziona il Codice
Tocca un’idea per aprirla — niente di tutto questo richiede un computer per capirlo Che Cos’è un Programma · L’Ordine dei Passi · I Cicli · Le Condizioni · Le Variabili · Le Funzioni · Bug e Debug · Come le Macchine Conservano · Gli Algoritmi · Le Persone Che l’Hanno Fatto · Ingresso e Uscita · Liste e Array.
Dai 11 ai 13 anni
Cosa c'è dentro
Che Cos’è un Programma — ordini che una macchina esegue senza capire
Un programma è un elenco di istruzioni scritte così esattamente che una macchina può eseguirle senza sapere che cosa significhi nessuna di esse. Suona freddo, ed è la cosa più utile da capire: la macchina mette velocità e obbedienza, tu metti ogni singolo pezzo del ragionamento. Nulla, in un programma, le è ovvio, perché nulla è ovvio per chi non sa indovinare.
L’Ordine dei Passi — stessi passi, altro ordine, altro risultato
Le istruzioni vengono eseguite una dopo l’altra, dall’alto in basso, e questo fatto banale pesa molto più di quanto sembri. Ogni passo cambia la situazione in cui atterra il passo successivo, quindi un elenco di ordini è una catena, non un mucchio. Mescola la catena e spesso non ottieni una risposta peggiore: ne ottieni una completamente diversa.
I Cicli — scrivilo una volta, eseguilo mille volte
Un ciclo è l’istruzione “rifai questa parte”. Esiste perché ripetere è ciò in cui le macchine sono migliori e le persone peggiori, e perché cento copie della stessa riga sono cento occasioni di sbagliare a scrivere. Azzeccare un ciclo significa rispondere onestamente a due domande: che cosa si ripete e che cosa lo ferma.
Le Condizioni — se questo è vero, prendi quella strada
Una condizione è una domanda con solo due risposte possibili, e la macchina prende una strada diversa a seconda di quale riceve. È ciò che permette allo stesso programma di comportarsi diversamente di martedì, sotto la pioggia o con la batteria scarica, senza che nessuno lo riscriva. Ogni risposta dall’aria intelligente che ti dà un apparecchio è, sotto sotto, un mucchio di questi bivi sì-o-no.
Le Variabili — una scatola con un nome il cui contenuto può cambiare
Una variabile è un posto etichettato dove un programma tiene qualcosa che gli servirà di nuovo. L’etichetta resta ferma; ciò che sta dentro può essere sostituito quando vuoi. Questa separazione tra il nome e la cosa è una delle idee più silenziose e potenti di tutta la materia, perché ti permette di scrivere regole su cose che ancora non conosci.
Le Funzioni — dai un nome a un lavoro, poi basta dire il nome
Una funzione è un pezzo di lavoro a cui è stato dato un nome, così che da lì in poi il nome basta. È la differenza tra descrivere un intero viaggio e dire “prendi l’autobus”. Quando sai impacchettare dei passi ed etichettare il pacchetto, un programma smette di essere una lista infinita e diventa un insieme di idee costruite una sull’altra.
Bug e Debug — un guasto è informazione, non fallimento
Un bug è la distanza tra ciò che intendevi e ciò che hai davvero scritto. Non è il segno che sei negato; è lo stato normale, atteso e quotidiano di un lavoro non finito, e l’intero mestiere è organizzato attorno al trovarli. Ciò che separa chi inizia da chi ha esperienza non è fare meno errori all’inizio: è avere un metodo per metterli all’angolo.
Come le Macchine Conservano — una foto, una canzone e un nome, tutti in numeri
Tutto ciò che una macchina conserva va prima trasformato in numeri, perché i numeri sono l’unica cosa che possiede fisicamente. Non è un codice segreto e non si nasconde nulla: è una traduzione concordata alla luce del sole, e la domanda interessante è sempre che cosa si perde per strada.
Gli Algoritmi — una ricetta precisa — e alcune costano molto più di altre
Un algoritmo è una ricetta scritta così precisamente che seguirla dà sempre la risposta giusta e finisce sempre. È tutta qui la definizione. Ciò che rende la materia degna di studio è che due ricette per esattamente lo stesso lavoro possono richiedere quantità di fatica enormemente diverse, e la differenza diventa evidente solo quando il lavoro cresce.
Le Persone Che l’Hanno Fatto — dieci vite reali, dieci contributi verificabili
L’informatica non è stata consegnata da un genio solitario. È stata assemblata in due secoli da matematici, ingegneri, ufficiali di marina, insegnanti e decrittatori, in più Paesi, e moltissime furono donne in un’epoca in cui raramente venivano riconosciute. Eccone dieci, con ciò che hanno davvero fatto e quando.
Ingresso e Uscita — i sensi della macchina e la sua voce
Un programma chiuso al mondo non servirebbe a nulla: gli serve un modo per ricevere qualcosa e un modo per restituirne. Lo chiamiamo ingresso e uscita e, quando impari a vederli, ogni apparecchio di casa tua si divide pulito in due. Il campanello riceve una pressione e dà un suono; il bollitore riceve un interruttore e dà calore.
Liste e Array — molte cose in un solo posto con un nome
Prima o poi ti serve conservare non una cosa, ma un'intera fila: ogni punteggio di un gioco, ogni nome in un elenco, ogni nota di un motivo. Una lista dà a tutte un solo nome e una serie di caselle numerate, così il programma raggiunge qualsiasi in un istante. È la differenza tra trenta calze sparse e un cassetto con trenta scomparti etichettati.
Continua a esplorare
Altre lingue
Caricamento di LeoNes…