codigo_espagueti
Imagina este fragmento de programa en BASIC donde se usa GOTO indiscriminadamente:
10 INPUT "Número de elementos a ordenar: "; T
20 DIM n(T)
30 FOR i = 1 TO T
40 PRINT "ELEMENTO "; i; ":"
50 INPUT n(i)
60 NEXT i
70 C = T
80 E180:
90 C = INT(C / 2)
100 IF C = 0 THEN GOTO C330
110 D = T - C
120 E = 1
130 I220:
140 f = E
150 F230:
160 g = f + C
170 IF n(f) > n(g) THEN SWAP n(f), n(g)
180 f = f - C
190 IF f > 0 THEN GOTO F230
200 E = E + 1
210 IF E > D THEN GOTO E180
220 GOTO I220
230 C330:
240 PRINT "Lista ordenada:"
250 FOR i = 1 TO T
260 PRINT n(i)
270 NEXT i
280 END
Este código funciona, pero su flujo de ejecución está lleno de saltos que hacen difícil seguir «dónde estoy» y «cómo llegué aquí».
Este desorden refleja lo que Andries van Dam advertía: “cuanto más rico es el hipertexto, mayor es el problema de navegación”, y al compararlo con un GOTO que genera “espagueti”, subraya cómo los vínculos sin estructura pueden desembocar en una experiencia de desorientación similar.