une caractéristique un peu oubliée par l'article concerne les bases théoriques derrière ces language.
Pas besoin d'un cours de théorie des types, de théorie des languages ou de la compil' bien sûr, mais juste pour dire que ADA est un très bon language (pour plein de raisons pratiques) mais qu'il est un peu bâti sur du sable au niveau théorique.
A l'inverse, OCaml a été conçu A PARTIR des résultats de recherche théorique. Par exemple, la structure de typage de Caml a été prouvée (en gros une démonstration logique et mathématique avec beta-réductions à la pelle de 300 pages) et ça a de grosses conséquances sur la génération de code sûr (au sens de la sûreté de fonctionnement) pour des missions critiques comme les codes embarquées par exemple. Les autres méthodes de code sûr pour ce genre de tâches (Lustre et Esterel pour ne pas les citer) ont d'autres avantages mais ne servent jamais qu'à générer du code C à recompiler derrière.
... et puis l'inférence de types, le garbage collector TRES bien fait (oui, c'est toujours possible de faire mieux à la main, mais c'est pas facile)... tout un tas de trucs qui font de OCaml un outil très bien fait.
[^] # Re: Ada answers
Posté par Aquarius . En réponse à la dépêche Langages et performances : les Français à l'honneur !. Évalué à 3.
Pas besoin d'un cours de théorie des types, de théorie des languages ou de la compil' bien sûr, mais juste pour dire que ADA est un très bon language (pour plein de raisons pratiques) mais qu'il est un peu bâti sur du sable au niveau théorique.
A l'inverse, OCaml a été conçu A PARTIR des résultats de recherche théorique. Par exemple, la structure de typage de Caml a été prouvée (en gros une démonstration logique et mathématique avec beta-réductions à la pelle de 300 pages) et ça a de grosses conséquances sur la génération de code sûr (au sens de la sûreté de fonctionnement) pour des missions critiques comme les codes embarquées par exemple. Les autres méthodes de code sûr pour ce genre de tâches (Lustre et Esterel pour ne pas les citer) ont d'autres avantages mais ne servent jamais qu'à générer du code C à recompiler derrière.
... et puis l'inférence de types, le garbage collector TRES bien fait (oui, c'est toujours possible de faire mieux à la main, mais c'est pas facile)... tout un tas de trucs qui font de OCaml un outil très bien fait.