• [^] # Re: Le web

    Posté par (site web personnel) . En réponse au journal Qui fait des trucs "cools" en France et en Europe?. Évalué à 4. Dernière modification le 11 septembre 2015 à 09:20.

    Sérieusement, une interface ne se limite pas aux signatures de fonctions... La sémantique, c'est pour les chiens ?

    Il grossit un peu le trait, mais un des charmes des langages comme OCaml est qu'ils sont très expressifs – donc on a à sa disposition un vocabulaire de haut niveau – et que le système de types est une information supplémentaire sur le programme. Cette information permet au compilateur de détecter des erreurs, mais le programmeur a aussi un degré de liberté supplémentaire, et on peut représenter des invariants importants du programme dans le système de type (du genre, connection initialisée) ce qui permet d'utiliser le compilateur comme un système de preuve correction allégé. Je précise que OCaml n'a pas de RTTI (on dit que les types sont effacés à la compilation) et que ceci n'a donc aucune surcharge au "runtime".

    Ensuite mon expérience est que lorsque je programme je fais surtout des erreurs d'étourderie et presque jamais des erreurs de sémantique – les premières sont presque toutes capturées par le compilateur et les autres, c'est le boulot de la test-suite.