Go to content

La programmation modulaire, au delà des espaces noms (Xavier Van de Woestyne)

De plus en plus de langages introduisent la notion de "modules", cependant, les modules sont souvent confondus avec les espaces noms. Dans cette présentation, je vous propose, au moyen du langage OCaml, un langage réputé pour son système de modules et qui devient de plus en plus populaire, notamment grâce à Reason (sa syntaxe alternative proposée par Facebook via ReasonReact, entre autre), de découvrir ce que sont réellement les modules, et les problématiques qu'ils couvrent, par exemple, en plus d'offrir une manière d'éviter les collisions de noms : la compilation modulaire (et partielle) l'injection de dépendances génération de code et réutilisabilité l'abstraction des types l'extension d'interfaces l'offre d'un langage "module level" pour faire des manipulation fines, proche des systèmes de types dépendants se passer, discutablement, des Higher Kinded Types (présent, par exemple, en Haskell, Scala et Kotlin, via la bibliothèque Arrow) Concrètement, les modules sont bien plus riches que des simples espaces noms, et en comprendre les tenants et aboutissants permet d'imaginer l'évolution des langages plus populaires (comme Java, JavaScript et C#).

April 17, 2019