Bug significato: cosa sono i bug informatica

Vi siete mai chiesti perché l’errore di un software si chiama “bug”? In ambito di programmazione software è un errore o guasto che porta al malfunzionamento di un software.
Viene spesso tradotto in “baco informatico” ma molto più spesso utilizzato in lingua inglese da qualunque informatico presente in tutto il mondo.
La causa del maggior numero di bug di sistema è spesso un errore nel codice sorgente scritto da un programmatore, ma può anche accadere che venga prodotto dal compilatore. Un programma che contiene un gran numero di bachi che interferiscono con la sua funzionalità è detto bacato (in inglese buggy).
L’uso del termine bug informatico, che in inglese indica genericamente un piccolo insetto, è legato ad un curioso aneddoto risalente ai tempi pionieristici dell’informatica.
Il 9 settembre 1947 il tenente Grace Hopper stava cercando di risalire al motivo del malfunzionamento di un computer “Mark II” quando, con stupore, si accorse che una falena si era incastrata tra i circuiti.
Dopo aver rimosso l’insetto, il tenente incollò la falena rimossa sul registro del computer e annotò: «1545. Relay #70 Panel F (moth) in relay. First actual case of bug being found». Questo registro è conservato presso lo Smithsonian National Museum of American History.
Sebbene esistano rari bug nell’hardware, ovvero problemi nella progettazione di un elemento “fisico” del computer, questi errori di solito si trovano nei software e sono di vari tipi:
La presenza di bug può essere frequente e, anche se spesso causano problemi minori, in alcuni casi possono avere anche conseguenze gravi. È perciò importante che gli esperti nella creazione di siti web siano in grado di riconoscerli e correggerli.
Fortunatamente però, non dobbiamo lottare ogni giorno per individuare il bug che blocca il software su cui si sta lavorando, perché possiamo prevenire la presenza di bug che vengono a disturbare il nostro lavoro.
Come possiamo fare? Durante la fase di programmazione, sarebbe intanto opportuno utilizzare dei software di scrittura del codice in grado di correggere, suggerire e compilare automaticamente la sintassi del codice. Sono funzionalità specifiche che ci aiutano ad individuare anche quella “virgola” di troppo che potremmo avere aggiunto per pura e semplice distrazione.
Inoltre, la maggior pare dei linguaggi possiedono degli strumenti in grado di leggere il codice scritto aiutando lo sviluppatore a controllare che la sintassi di quanto scritto sia corretta.
I bug però possono essere generati anche per un errore concettuale dello sviluppatore. In questo caso non esiste uno strumento in grado di fornire un feedback in merito alla logica utilizzata per sviluppare l’applicativo.
Prima di iniziare a mettere le mani sul codice, consigliamo quindi di documentare l’intero progetto specificando gli obiettivi che si intendono raggiungere, dividere lo sviluppo in più fasi, così da definire step by step la logica migliore.
Non bisogna preoccuparsi se capita di sbagliare… è umano!