C'est surtout qu'un while() ou autre intègre implicitement la notion de saut.
Maintenant ces structures de (plus) haut niveau présentent aussi leurs abbérations. Exemples:
En BASIC, puisque c'est principalement le langage incriminé, il existait dans certaines versions les instructions DO et LOOP qui permettaient de mettre en place une itération infinie, dont on ne sortait qu'avec un EXIT explicite.
- Rien de de plus qu'un goto, donc, excepté le fait que DO ... LOOP déclare une structure et occupe de la place dans la pile pour son fonctionnement.
- En C, on utilise majoritairement des while(1) pour réaliser des boucles infinies. Or, d'une part, ceux-ci sont en général "simplifiés" par les compilateurs (qui les transforment en JMP). et d'autre part, d'un point de vue mathématique et formel, un while(true) est en soi un non-sens. Exactement comme 1==1, dont il est ridicule d'attendre la fin de l'égalité, et plus encore d'y conditionner des actions.
Donc en ce sens, - et d'un point de vue formel -, je ne trouve pas le while(1) plus propre qu'un goto et pour être tout-à-fait franc, je me demande bien ce que Dijkstra en pensait ...
[^] # Re: GO TO goto hell !
Posté par Obsidian . En réponse à la dépêche Un petit tour et puis s'en va. Évalué à 8.
Maintenant ces structures de (plus) haut niveau présentent aussi leurs abbérations. Exemples:
En BASIC, puisque c'est principalement le langage incriminé, il existait dans certaines versions les instructions DO et LOOP qui permettaient de mettre en place une itération infinie, dont on ne sortait qu'avec un EXIT explicite.
- Rien de de plus qu'un goto, donc, excepté le fait que DO ... LOOP déclare une structure et occupe de la place dans la pile pour son fonctionnement.
- En C, on utilise majoritairement des while(1) pour réaliser des boucles infinies. Or, d'une part, ceux-ci sont en général "simplifiés" par les compilateurs (qui les transforment en JMP). et d'autre part, d'un point de vue mathématique et formel, un while(true) est en soi un non-sens. Exactement comme 1==1, dont il est ridicule d'attendre la fin de l'égalité, et plus encore d'y conditionner des actions.
Donc en ce sens, - et d'un point de vue formel -, je ne trouve pas le while(1) plus propre qu'un goto et pour être tout-à-fait franc, je me demande bien ce que Dijkstra en pensait ...