Bene, vediamo che le prime versioni di Fortran avevano IF
GOTO
e DO
.
Ci sono state diverse varianti su IF e GOTO, inclusi GOTO ASSEGNATI e GOTO calcolato, che era un po 'come un'istruzione CASE.
Quindi, a parte i loop DO, tutte le dichiarazioni di controllo erano variazioni su IF e GOTO che coinvolgono numeri di istruzioni hard coded. Il risultato è stato più vermicelli che spaghetti.
Il ciclo DO stesso era problematico in quanto era strettamente "do until" con il test in fondo al ciclo, quindi non c'era modo di saltare la prima iterazione se non precedendola con un altro "IF (cond) GOTO 9999 ".
Quindi, poiché la maggior parte delle strutture di controllo era "GOTO linenumber", qualsiasi modifica sostanziale del codice comporterebbe modifiche molto inclini agli errori nei numeri di linea di destinazione.
Il ciclo DO doveva essere integrato con un GOTO per trasformarlo in un DO WHILE.
I primi Fotrans avevano un "GOTO" del modulo.
IF (VAR) 100,200,300
Il che significa che se VAR è < 0 allora vai all'istruzione 100. Se = 0 allora l'istruzione 200, se > 0 quindi la dichiarazione 300.
Nel complesso non è stato un tentativo troppo brutto. Il fatto che tu potessi scrivere formule che assomigliavano a ciò che hai scritto tu professore sulla lavagna era la caratteristica killer di FORTRAN, il flusso del programma doveva aspettare qualche anno per recuperare.