Cos’è un bug?

significato bug 03

Cosa significa e perchè usiamo la parola bug per definire un problema legato al mondo dell’informatica?

La parola “bug” normalmente significa “insetto” o “errore di programmazione”. Nel 19° secolo, Thomas Edison usò questo stesso termine per descrivere le cause di un circuito difettoso, ma come si è evoluto fino a indicare un problema di programmazione?

Per scoprirlo, occorre fare un passo indietro fino al 1947, quando il sistema centrale del computer della famosa programmatrice Grace Hopper smise di funzionare per un motivo ignoto. Alla fine la donna scoprì che una falena era rimasta impigliata all’interno del macchinario: ecco qual era la causa del malfunzionamento. Incollò i resti dell’insetto sul suo registro di ricerca e segnò che aveva identificato un “bug”; rimuovendolo, il computer tornò a funzionare correttamente.

Questo insetto sfortunato è andato perso nella storia, ma il termine “bug” è ancora in uso.

Chiaramente i bug non sono nostri amici. In tutte le app e nei giochi, questi errori devono essere accuratamente risolti prima della pubblicazione per fornire all’utente la migliore esperienza possibile. Alcuni bug sono così iconici, però, che si sono ritagliati uno spazio nella storia, influenzando per sempre il settore dei software.

Uno dei primi giochi, Pac-Man, prevedeva livelli illimitati. Ma poiché le prime edizioni avevano una memoria sufficiente solo per 255 livelli, il testo, i numeri e la grafica si danneggiavano una volta superato quel punto, oscurando così alcuni dei puntini che Pac-Man doveva divorare. Di conseguenza, non si poteva ottenere il punteggio necessario per completare il livello. In seguito NAMCO s’ispirò a questo bug per sviluppare Pac-Man 256.

significato bug 01
Pac-Man
Le scritte confusionarie fanno parte degli ostacoli da evitare in Pac-Man 256.

Un altro bug molto famoso che ha lasciato il segno è senza dubbio il “Y2K”. I software precedenti al 2000 utilizzavano infatti due cifre per memorizzare le informazioni sull’anno per risparmiare spazio di archiviazione, quindi quando il calendario si avvicinava a questo numero, non era chiaro se “00” significasse 2000 o 1900. Tutto il mondo s’impegnò per aggirare il potenziale caos.

I bug possono persino essere usati a vantaggio del prodotto e Goat Simulator lo dimostra alla grande. Lo sviluppatore ha annunciato semplicemente: “Stiamo eliminando solo i bug che causano crash del sistema, tutto il resto fa troppo ridere, quindi lo teniamo”.

significato bug 02
Trybit Logic
In Trybit Logic, lo scopo del gioco è sconfiggere i bug destreggiandosi tra pannelli di operazioni logiche.

Per capire meglio il concetto di bug, prova a programmare. Ovviamente, chi sviluppa app e giochi si impegna duramente per ridurre il numero di questi errori. Ma inevitabilmente qualche bug c’è sempre in quanto il codice è pur sempre scritto da essere umani e parliamo di infinite stringhe di comando.