Règles du forum

Le langage SML et son successeur seulement, pas les interpréteurs ni les compilateurs, ni même les langages similaires comme OCaml (si nécessaire, il faudra reformuler). Bien que intéressant, Haskell n’est pas à l’ordre du jour (faute de le connaitre et donc de pouvoir vérifier les topiques à son sujet).

Auteur Message
Administrateur
Avatar de l’utilisateur
En Anglais, le bilan d’une expérience qui comparait l’implémentation d’un moteur de rendu 3D simple, par lancé de rayon, dans plusieurs langages, des langages fonctionnels et des langages impératifs.

Sans surprise, la concision est bien meilleure avec les langages fonctionnels SML et Ocaml. Cette concision, qui facilite la lecture et par là, la maintenance, n’est cependant pas du gout de tout le monde. D’autres langages, comme Ada, parie au contraire sur la lisibilité par la verbosité. Ce qu’il faut comprendre, c’est que la concision ne garantie pas nécessairement la lisibilité, même si elle peu y aider.

La bonne surprise, c’est que bien que plus lent que l’implémentation C++ compilée avec G++, l’implémentation SML compilée avec MLTon, est plus rapide que l’implémentation Java, exécutée dans l’environnement Java standard. L’implémentation Ocaml, compilée avec le compilateur Ocaml standard, peut même s’approcher de la vitesse d’exécution de la version C++ compilée avec G++. À noter que ce document date déjà un peu, et que depuis, le compilateur MLTon a été amélioré.

Le document se termine par un relevé d’aspects à noter lors d’un choix entre SML et Ocaml.

Voir le bilan de l’expérience : Ray tracer language comparison (ffconsultancy.com).
Profil
Administrateur
Avatar de l’utilisateur
Voir aussi : Les langages fonctionnels : comparaisons, pour une comparaison plus générale.
Profil