Posté par kantien .
En réponse au journal Is return the new goto ?.
Évalué à 5.
Dernière modification le 29 janvier 2024 à 23:54.
Je vois bien l’idée mais ce contraindre à coder uniquement selon ce paradigme me semble relever de la manie pathologique.
Je ne vois pas bien ce qu'il y a de pathologique là-dedans. C'est un paradigme comme un autre, celui suivi par tous les langages fonctionnels du LISP jusqu'à nos jours, langages qui ont tous pour modèle le lambda-calcul d'Alonzo Church. Church était le directeur de thèse de Turing, et le seul intérêt que je vois à son modèle de calcul sur machine est que l'on peut compiler en une suite d'instruction machine un code écrit en lambda-calcul (les deux modèles sont équivalents). Procéder par évaluation d'expression, c'est ce que je fais depuis que j'ai appris à calculer à l'école primaire avec un papier et un crayon. Je ne vois pas bien le côté pathologique a toujours faire de même. ;-)
J’ai le sentiment qu’un return (qui existe en Lisp), est compatible avec un paradigme fonctionnel strict
LISP (qui est orienté expression) a aussi des traits impératifs (c'est du fonctionnel impur) et le return permet, entre autre, de sortir prématurément d'une boucle (cf. mon commentaire sur le message de Linus). Dans un langage fonctionnel pur, toute boucle est une fonction récursive et si l'on veut sortir, il suffit de ne pas relancer la récursion et de dire à quelle expression s'évalue le retour de fonction (le return explicite devient purement facultatif).
Ce qui me semble pathologique, c'est ce besoin irrépressible d'avoir un return quelque part dans le corps d'une fonction. ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: goto return cave
Posté par kantien . En réponse au journal Is return the new goto ?. Évalué à 5. Dernière modification le 29 janvier 2024 à 23:54.
Je ne vois pas bien ce qu'il y a de pathologique là-dedans. C'est un paradigme comme un autre, celui suivi par tous les langages fonctionnels du LISP jusqu'à nos jours, langages qui ont tous pour modèle le lambda-calcul d'Alonzo Church. Church était le directeur de thèse de Turing, et le seul intérêt que je vois à son modèle de calcul sur machine est que l'on peut compiler en une suite d'instruction machine un code écrit en lambda-calcul (les deux modèles sont équivalents). Procéder par évaluation d'expression, c'est ce que je fais depuis que j'ai appris à calculer à l'école primaire avec un papier et un crayon. Je ne vois pas bien le côté pathologique a toujours faire de même. ;-)
LISP (qui est orienté expression) a aussi des traits impératifs (c'est du fonctionnel impur) et le
returnpermet, entre autre, de sortir prématurément d'une boucle (cf. mon commentaire sur le message de Linus). Dans un langage fonctionnel pur, toute boucle est une fonction récursive et si l'on veut sortir, il suffit de ne pas relancer la récursion et de dire à quelle expression s'évalue le retour de fonction (lereturnexplicite devient purement facultatif).Ce qui me semble pathologique, c'est ce besoin irrépressible d'avoir un
returnquelque part dans le corps d'une fonction. ;-)Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.