Libro "VB 2010 spiegato a mia nonna" (9)

Spaghetti-code

Il cosiddetto “spaghetti-code” è un non-paradigma di programmazione, adottato nelle prime versioni del BASIC fino agli anni Ottanta inclusi. Chi ha utilizzato i primi personal computer probabilmente ricorderà il linguaggio GW-basic oppure il Commodore BASIC.

Il linguaggio richiedeva che ogni istruzione avesse un numero progressivo che identificava l’istruzione stessa. Se era necessario inserire un certo numero di istruzioni tra due istruzioni esistenti non era raro dover rinumerare alcune istruzioni.

La pratica, quindi, suggeriva di numerare le istruzioni saltando la numerazione di dieci in dieci.

Le variabili erano globali e non c’era la possibilità di isolarle in procedure o funzioni.

Si poteva simulare una procedura o funzione solamente con un gruppo di istruzioni posto al di fuori della numerazione del programma principale e saltando da un punto del programma alla pseudo-procedura con l’istruzione GOTO X o con l’istruzione GOSUB X, dove “X” è il numero identificativo dell’istruzione cui si cedeva il controllo.

Al termine della pseudo-procedura si tornava poi all’istruzione successiva a quella chiamante.

Se occorreva rinumerare le istruzioni per fare spazio ad altre istruzioni, bisognava ricontrollare tutte le istruzioni GOTO e GOSUB per verificare che i riferimenti fossero
corretti.

GW-basic adottava il paradigma di programmazione strutturata in modo molto grezzo. Per esempio l’istruzione IF … THEN … ELSE doveva trovarsi su un’unica riga, non poteva essere distribuita su più righe.

Un esempio di programma in GW-basic è il seguente:

10 dim i
20 i = 1
30 i = i * 2
40 if i <= 20 then goto 70
50 print “Fine programma.”
60 end
70 print i & ” al cubo = ” & i * i * i
80 goto 30

Sebbene questo sia un programma semplicissimo, già a questo livello di semplicità può risultare complesso capire cosa faccia effettivamente il programma. Immaginiamo di avere un programma con centinaia o migliaia di istruzioni e capiremo perfettamente perché questo tipo di programmazione sia stata chiamata spaghetti-code (Figura 1.4).

image
Figura 1.4 –
Spaghetti-code.

(…segue…)

Fonte: Cap. 1 – libro “Visual Basic 2010 spiegato a mia nonna”, Edizioni FAG Milano, Autore Mario De Ghetto, 2011, http://bit.ly/NRO6Cn.