Salut,
J'aimerai revenir sur certains préjugés, sûrement induits par une recontextualisation anachronique.
sa programmation a plutôt été "bricolée" au fil de l'eau.
Il faut rappeler que nous sommes sur une programmation avec un éditeur Basic rustique et pas très facile à utiliser.
Nous ne sommes pas sur un fichier texte qui permet d'avoir une vue globale du programme, un accès rapide de la première ligne à la dernière.
Il fallait donc faire des LIST, des editions lignes par ligne, et faire des recherches visuelles sans l'aide d'une fonction particulière.
Donc changer la numérotation d'une ligne impliquait la recherche des fonctions associées GOTO et GOSUB... visuellement, et cela sur l'ensemble du programme… et tout cela pour faire joli, pour un code que personne ne regardera.
La programmation se faisait en mémorisant la structure du programme, et en ajoutant/modifiant le programme dans une fenêtre limitée pour l'édition.
Il était possible d'imprimer le programme pour le modifier, mais au bout d'un moment, le listing devait être réimprimé car plein de ratures.
Maintenant, critiquer la forme est facile mais basée sur des appréciations contemporaines d'esthétisme.
structure "spaghetti"
Bon… Oui, mais pourquoi?
Toujours dans une naïveté esthétique compréhensible, à première vue, cela passe pour une particularité issue d'un cerveau dérangé.
Mais, cela fait gagner de précieux octets de mémoire et accélère l'execution du Basic.
Une ligne en plus, c'est près de 7 octets de mémoire en moins de mémoire, et répété 1000 fois , ça fait 7k de gagné dans une mémoire toujours trop limitée dans la création d'un programme. Sur certains Basic (Ti99...), le nombre de caractère par ligne était bridé et dépasser cette limite pouvait faire gagner des octets.
Le passage d'une ligne à l'autre demande au BIOS Basic de trouver la ligne suivante et de l'exécuter… donc des cycles processeur en plus, et produisent un ralentissement globale du Basic en cas de répétition.
Donc, cette structure n'est pas une curiosité farfelue, mais une nécessité pour optimiser le programme.