Goto

Définition, exemples et bonnes pratiques

À retenir

  • Le goto effectue un saut immédiat et inconditionnel vers une étiquette (label) dans le code.
  • Il est le symbole de la programmation non structurée, jugée obsolète par la majorité des experts.
  • Il est absent ou désactivé dans la plupart des langages modernes comme Java, Python ou C#.

L'instruction goto est une commande qui permet de faire bondir l'exécution d'un programme directement vers un endroit précis du code, sans suivre l'ordre habituel des lignes. C'est l'équivalent informatique d'un renvoi de type "rendez-vous au chapitre 4" dans un livre dont vous seriez le héros.

Étymologie

Contraction de l'anglais go to (aller à), ce terme est apparu dans les années 1950 avec les premiers langages de programmation comme le Fortran. Il reflète une époque où la logique informatique imitait directement les sauts d'adresses mémoire du processeur.

Exemples d'usage

  • En vieux langage BASIC : 10 PRINT "Bonjour" ; 20 GOTO 10 crée une boucle infinie en revenant sans cesse à la ligne 10.
  • En langage C : utiliser un goto pour sauter directement à une section de nettoyage de la mémoire en cas d'erreur critique au milieu d'une fonction complexe.

Cas d'usage

Aujourd'hui, son usage est très restreint. On le croise encore dans la programmation de bas niveau (systèmes d'exploitation, pilotes de périphériques) ou dans l'écriture d'automates complexes où il peut simplifier la gestion de certaines erreurs multiples.

Bonnes pratiques

La recommandation moderne est de ne JAMAIS utiliser goto sauf cas de force majeure. Son usage abusif mène au "code spaghetti", un programme au flux si entremêlé qu'il devient impossible à comprendre ou à réparer. Utilisez plutôt des structures claires comme les boucles (for, while) et les conditions (if, else).

Synonymes

saut inconditionnel branchement jump

Antonymes

programmation structurée exécution séquentielle

Conseil

Si vous apprenez la programmation, considérez le goto comme une curiosité historique. Apprendre à s'en passer est l'un des premiers pas pour devenir un développeur rigoureux et produire du code maintenable.

Questions fréquentes

Pourquoi le goto est-il si mal vu ?

Parce qu'il casse la lecture naturelle du code du haut vers le bas, rendant le programme imprévisible et difficile à tester.

Y a-t-il des alternatives propres ?

Oui, les fonctions, les exceptions (try/catch) et les structures de contrôle classiques remplacent avantageusement le goto dans 99% des cas.

Qui a rendu le goto célèbre ?

L'informaticien Edsger Dijkstra, avec son article de 1968 intitulé 'Go To Statement Considered Harmful', qui a révolutionné la façon d'écrire du code.