• # Programmation fonctionnelle

    Posté par (site web personnel) . En réponse au journal Is return the new goto ?. Évalué à 10.

    Autant que je sache, ça vient d'habitudes de langages de programmation fonctionnelle. J'ai en tête Caml par exemple. Si je me souviens bien, l'idée est qu'il n'est pas normal de faire quoi que ce soit qui retourne une valeur sans faire quelque chose de cette valeur : l'affecter à une variable par exemple.

    Du coup, dans la définition d'une fonction, on s'attend à ce qu'aucune ligne ne laisse de valeur implicitement jetée à la poubelle. Et il devient du coup plus ou moins naturel que, lorsqu'une ligne, une seule, la dernière, laisse une valeur, ce soit la valeur de retour de la fonction.

    On peut voir les choses autrement. Une fonction est comme l'objet du même type en mathématiques : quelque chose qui prend des valeurs et fournit une valeur. Or en maths, on écrit fort naturellement (ou pas) des choses comme : f: x ↦ x2. Et certainement pas f: x ↦ return x2.