• [^] # Re: Objectifs du langage ?

    Posté par . En réponse à la dépêche Linotte, la programmation en français en version 1.6. Évalué à 5.

    En math à l'école, j'ai appris "durée = durée + 1".

    Je coinche ! Si un étudiant m'avait écrit cela, je lui aurai répondu que les nombres cardinaux sont hors sujet.
    Presque toujours en mathématique, le symbole "=" désigne l'égalité, alors que dans l'exemple ci-dessus c'est une affectation.
    En maths, quand on écrit x = f(x) on ne modifie pas x, on affirme juste que deux expressions sont égales. Pour que x soit inchangé en lui ajoutant 1, il faut... qu'il soit infini. La caractéristique d'un ensemble infini, c'est qu'on peut lui ajouter un élément sans changer sa taille (sa cardinalité, en vocabulaire ensembliste).

    Pour le reste, je suis d'accord que ce langage n'est absolument pas une expression directe de l'algorithme, pas plus que les autres langages. Plutôt moins que d'autres.
    En lisant uniquement les exemples, j'ai même eu du mal avec la syntaxe. Rôles désigne apparemment la section des définitions/déclarations. La distinction entre Lambda et lambda dans le premier exemple est un peu perturbante. L'opérateur ter() n'est pas assez lisible pour un langage qui se veut proche du français courant.

    Par contre, je ne lui connais pas de concurrent sur le créneau des "langages fonctionnels pour débutants en programmation". Chez les lisp, Clojure et Scheme me semblent rébarbatifs pour un premier contact. Chez les ML, j'aime bien Haskell que je trouve peu abordable (cf E/S ou nombres aléatoires), et je ne connais pas (O)Caml. Le peu que j'ai vu d'Erlang l'élimine immédiatement de cette catégorie.