Accessibilité Contact Aller au menu Aller au texte

Comment j’ai appris à ne plus m’en faire et à aimer le typage statique

Intervenant(s) : Alexander Heußner
Date : Jeudi 8 juillet 2010 Horaire : 11h00 Durée : 20 minutes
Lieu : ENSEIRB - Amphi C
Thèmes transversaux : En anglais

La conférence

Slides : fichier PDF (version statique seulement - attention : >21MB), ou version complète, low-res, dynamique ici.

Chaque discussion enflammée sur internet a tendance à trier plus ou moins les langages de programmation, alors que le "mien" est toujours meilleur que le "tien". Je propose d’adopter une approche pragmatique pour la question sous-jacente : « Pourquoi moi, je choisirais ce langage et pas celui-là pour un certain type de problème de programation dans un contexte donné ? ». Cette présentation dessinera une réponse pratique envisageable.

La programmation d’un interpréteur simple pour le langage de modélisation PROMELA m’a forcé à quitter mon rivage natif du "duck typing" de Python afin de grimper la montage du typage statique fort d’OCaml. Je m’en faisais toute une "montagne", car écrire exactement tous les informations de typage semble superflu du point de vue de la façon de faire en Python dans laquelle les types sont aussi inévitables, mais restent dans l’esprit du programmeur. Pourtant, j’ai été étonné par ce que ça permet de prévoir en plus pour le débogage à cause du raisonnement sur les types du compilateur. C’était particulièrement précieux pour un interpréteur qui a besoin en lui-même de jongler avec les types (du langage interprété). Néanmoins, le typage statique n’est pas un vademecum pour le code correct : il a besoin au moins de tests unitaires aussi bien que d’un modèle mental concocté avec précaution.

Au final, j’ai personnellement appris beaucoup de cette expérience, aussi bien pour la façon directe d’attaquer un problème en Python, où les types sont plus importants dans mon modèle mental, que pour ma prochaine randonnée dans les montagnes fonctionnelles d’OCaml dans lesquelles la belle simplicité des solutions pythoniennes me manque encore parfois ("écrire le modèle mental et ça « marche » tel quel").

L’auteur

Alexander Heußner travaille en ce moment sur les méthodes formelles de vérification des applications distribuées asynchrones. Bien qu’il soit un aficionado de python au plus profond de son coeur, il a été forcé de plonger plus profond dans OCaml qui est maintenant devenu son deuxième "langage préféré de solution pragmatique aux problèmes".