Percorso: ilMac.net > Scuola di Mac > Corsi > Programmare con Python


Programmare con Python

7 - Sbagliando s'impara


Ci sono molti modi di arrivare, il migliore è di non partire
Ennio Flaiano

Sbagliando s'impara

Gli errori che si commettono in programmazione sono prima di tutto una buona opportunità per imparare a programmare meglio. Sono una sfida permanente alle proprie capacità: sia intellettuali, che di pazienza.
Se viceversa qualcosa nel programma che scrivete non gira come si deve, e lo considerate come un atto di guerra contro di voi, allora, siete sulla strada sbagliata. Per spiegare un po' meglio quanto sto per introdurre, ho lanciato l'IDE, al suo interno ho digitato questo:

print "Nel mezzo del cammin di nostra vita"
print "mi ritrovai in una selva oscura
print "che la diritta via era smarrita"

Non è necessario che ripetiate l'esercizio. Anche perché premendo "Run" otterreste solo un messaggio d'errore, questo:


Ebbene sì, abbiamo commesso un errore e se guardate bene vedrete anche di cosa si tratti. Comunque Python cerca di dare una mano indicando per mezzo di una finestra, che c'è un problema di sintassi nel file senza nome (non lo abbiamo salvato infatti), che gli abbiamo appena propinato. Questo errore si trova nella linea 3. Infatti ho dimenticato di inserire " cioé gli apici. Una volta risolto l'intoppo, apparirà la nostra bella finestra di output.

C'è errore ed errore

Ma prima di passare oltre, parliamo brevemente di quanto è successo; sarà anche un modo per descrivere (senza avere la pretesa di essere esaustivi), gli altri tipi di errori in cui si incorre programmando.
Nell'esempio riportato prima, ci siamo scontrati con l'errore di sintassi. Quando si inizia a programmare è estremamente facile commetterne. Che cosa è successo? Semplice, non abbiamo rispettato le regole che sono alla base della struttura del programma. Il buon Python, con tutta la buona volontà di cui è capace, è partito di gran carriera per elaborare quanto da noi digitato, e consegnarcelo bello caldo e fumante. Ma disgraziatamente, quello che ha potuto fare è stato segnalarci che qualcosa non andava con una finestra che conteneva un messaggio d'errore.

Un altro degli errori in cui si può incappare (quasi di natura diabolica), è quello di semantica. Perché? Non avrete alcun messaggio di errore. Spesso il programma viene eseguito in maniera (apparentemente), impeccabile, ma il risultato finale, sarà ben diverso da quanto vi attendevate. Per farla breve, e rischiando di semplificare troppo: avete scritto un programma diverso da quello che avevate in mente. Per venirne a capo (a parte la pazienza), occorre comprendere come il programma ha agito per ottenere quel risultato errato.

Un terzo genere di errore è quello in esecuzione (o "runtime"). La sua definizione ne tradisce già un po' la natura; in pratica si rivela solo quando il programma viene eseguito, e quindi ne impedisce l'esecuzione completa. Questi errori si definiscono anche 'eccezioni', proprio perché accade qualcosa di eccezionale, al di fuori della norma. Se provate a dividere un qualunque numero per 0, ecco che avrete appunto un errore in esecuzione.

La caccia

In programmazione un errore viene definito 'bug'; il processo che ha come scopo quello di stanarlo (e rimuoverlo), si definisce 'debugging'. In questo caso solo l'esperienza vi aiuterà ad uscire da una situazione in apparenza senza sbocchi. Qualora questa vi manchi ancora, sarà opportuno 'staccare la spina' (non al computer però!), prendere una boccata d'aria, e riprovarci. A questo punto però, una domanda sorge spontanea, vale a dire: si possono evitare gli errori?

Homines sumus ...

Errare è umano, tuttavia si possono ragionevolmente abbassare le cause che portano a commettere errori. Qualcosa abbiamo già detto in precedenza. La scrittura del codice deve essere effettuata in modo chiaro, facendo attenzione anche ai dettagli. Se infatti un accento, oppure un apostrofo mancanti non ci fermeranno nella lettura del nostro romanzo preferito, Python non sarà mai così flessibile. Alla minima inesattezza alzerà bandiera bianca. Inoltre, scrivere in modo chiaro, aiuta almeno a districarsi decisamente meglio tra le righe del codice. La sintassi di questo linguaggio è elegante, pulita e proprio questo approccio offre al programmatore (o aspirante tale), già un buon aiuto.

Lezione Successiva

Data di pubblicazione: 23-09-2005

L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.