Strong typing doesn't have to suck


h1 9/11/2006 03:52:00 AM

Au détour de conversations je suis tombé aujourd'hui sur cet article. L'article dresse une très brève histoire des langages de programmation, et des systèmes de type. Les programmeurs des débuts s'arrachent les cheveux, confondant les adresses de nombres avec celles de chaînes. Ils inventent les systèmes de type de C/Pascal/etc: statiques (vérification à la compilation, plus d'information de type à l'exécution) et forts (une variable d'un certain type ne peut contenir de valeurs d'un autre type). Ces systèmes sont peu expressifs et somme toute mal foutus, ce qui mène à deux nouvelles évolutions. La puissance des machines aidant, on invente d'un côté les langages interprétés avec leurs systèmes de type dynamiques (le contenu d'une variable peut changer de type) très en vogue de nos jours. Mais le typage statique n'est pas mort, il a évolué dans les ML et Haskell: plus expressif, il relève de vraies erreur de programmation, et ne requiert pas d'annotations de la part de l'utilisateur. Conclusion: le typage fort ne suce pas forcément des ours.

L'intéret de la présentation est qu'elle s'adresse à un large public de programmeurs, et non pas à des gens qui connaissent déja un ML. Des exemples simples de code sont donnés pour expliquer et motiver. Bref, je pense que ça peut intéresser un paquet de gens: ceux qui ne connaissent pas ML, et peut-être ceux qui en sont dégoutés; ceux qui en ont marre du typage dynamique, ou des annotations de type, et ceux qui ne le savent pas encore.

Malheureusement ce n'est pas un guide introductif à ML, et je n'en connais pas que je puisse recommander. Si seulement OCaml était simple à apprendre, le monde saurait..

0 commentaires:

Un commentaire ?

< Accueil