Bem, vamos ver as primeiras versões do Fortran tinham IF
GOTO
e DO
.
Houve várias variações no IF e GOTO, incluindo GOTOs atribuídos e GOTO computado, que foram como uma declaração CASE.
Portanto, além dos loops de DO, todas as instruções de controle eram variações no IF e GOTO envolvendo números de instrução codificados. O resultado foi mais aletria do que espaguete.
O próprio loop DO era problemático, pois era estritamente "faça até" com o teste na parte inferior do loop; portanto, não havia como ignorar a primeira iteração além de precedê-la com mais um "IF (cond) GOTO 9999" .
Portanto, como a maioria das estruturas de controle era "GOTO roupa número", qualquer alteração substancial no código envolveria muitas alterações suscetíveis a erros nos números das linhas de destino.
O loop DO precisava ser complementado com um GOTO para transformá-lo em um DO WHILE.
Os primeiros Fotrans tinham um "GOTO" do formulário.
IF (VAR) 100,200,300
O que significa que se VAR for <0, vá para a instrução 100. Se = 0, então, para a declaração 200, se> 0, para a instrução 300.
No geral, não foi uma tentativa tão ruim. O fato de você poder escrever fórmulas parecidas com as que o professor escreveu no quadro-negro era o principal recurso do FORTRAN; o fluxo do programa precisou esperar alguns anos para recuperar o atraso.