debug come funziona

Debug : Cosa Significa e Come Funziona.

La programmazione è un processo complesso dato che esso e fatto da esseri umani spesso comporta errori. Per ragioni bizzarre gli errori di programmazione sono chiamati bug ed il processo della loro ricerca e correzione e chiamato Debug. Sono tre i tipi di errore nei quali si incorre durante la programmazione : gli errori di sintassi,gli errori in esecuzione e gli errori di semantica . E’ utile distinguerli per poterli individuare più velocemente.

Errori di Sintassi

Python può eseguire un programma solo se il programma sintatticamente corretto , altrimenti l’elaborazione fallisce e l’interprete ritorna un messaggio d’errore. La sintassi si riferisce alla struttura di un programma e alle regole concernenti la sua struttura. In italiano,per fare un esempio,una frase deve iniziare con una lettera maiuscola e terminare con un punto. ” questa frase contiene un errore di sintassi “

Python non è cosi permissivo: se c’è un singolo errore di instassi da qualche parte nel programma, Python stamperà un messaggio d’errore e ne interromperà l’esecuzione,rendendo impossibile proseguire. Durante le prime settimane della tua carriera di programmatore probabilmente passerai molto tempo a ricercare errori di sinstassi. Via via che acquisirai esperienza questi si faranno meno numerosi e sarà sempre più facile rintracciarli.

Errori in Esecuzione

Il secondo tipo di errore,chiamato errore in esecuzione (o “runtime”),cosi chiamato perchè l’errore non appare finchè il programma non è eseguito! Questi errori sono anche chiamati eccezioni perchè indicano che è accaduto qualcosa di eccezionale nel corso dell’esecuzione (per esempio si è cercato di dividere un numero per zero)

Errori di semantica

Il terzo tipo di errore è l’errore di semantica. Se c’è un errore di semantica il programma verrà eseguito senza problemi,nel senso che il computer non genera messaggi d’errore durante l’esecuzione,ma il risultato non ci sarà ciò che si aspettava. Sarà qualcosa di diverso, e questo qualcosa è esattamente ciò che è stato detto di fare al computer.
Il problema sta nel fatto che il programma che è stato scritto , non è quello che si desiderava scrivere :

Il significato del programma (ovvero la sua semantica) è sbagliata. L’identificazione degli errori di semantica è un processo complesso perchè richiede di lavorare in modo inconsueto, guardando i risultati dell’esecuzione e cercando di capire cosa il programma ha fatto di sbagliato per ottenerli.

Cos’è il Debug?

Gli errori in esecuzione sono rari nei semplici programmi che vedrai nei primissimi capitoli, cosi potrebbe passare un po’ di tempo prima che tu ne incontri uno.

Debug sperimentale


Una delle più importanti abilità che acquisirai è la capacità di effettuare il Debug (o “rimozione degli errori”). Sebbene questo possa essere un processo frustante e anche una delle parti più intellettualmente vivaci,stimolanti ed interessanti della programmazione.
In un certo senso il debug può essere paragonato al lavoro investigativo. Sei messo di fronte agli indizi e devi ricostruire i processi e gli eenti che hanno portato ai risultati che hai ottenuto. Il Debug è una scienza sperimentale: dopo che hai avuto un’idea di ciò che può essere andato storto, modifichi il programma e lo provi ancora. Se la tua ipotesi era corretta allora puoi predire il risultato della modifica e puoi avvicinarti di un ulteriore passo all’avere un programma funzionante. Se la tua ipotesi era sbagliata devi ricercarne un’altra. Come disse Sherlock Holmes “Quando hai eliminato l’impossibile ciò che rimane, per quanto improbabile, deve essere la verità. (A.Conan Doyle)

Per qualcuno la programmazione e il debug sono la stessa cosa, intendendo con questo che la programmazione è un processo di rimozione di errori finchè il programma fa ciò che ci si aspetta. L’idea è che si dovrebbe partire da un programma che fa qualcosa e facendo piccole modifiche ed eliminando gli errori man mano che si procede si dovrebbe avere in ogni momento un programma funzionante sempre più completo.
Linux, per fare un esempio, è un sistema operativo che contiene migliaia di righe di codice, ma esso è nato come un semplice programma che Linux Torvalds usò per esplorare il chip 80386 Intel. Secondo Larry Greenfields, ” uno dei progetti iniziali di Linux era un programma che doveva cambiare una riga di AAAA in BBBB e viceversa. Questo in seguito diventò Linux!

I capitoli successivi ti forniranno ulteriori suggerimenti sia per quanto riguarda il debug che per altre pratiche di programmazione.

webassistance

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo: