Ingénierie logicielle avancée
L’ingénierie logicielle avancée repose sur des fondements théoriques solides. Cette section explore les concepts qui permettent de construire des systèmes fiables, expressifs et maintenables.
Les 24 articles sont organisés en 7 modules progressifs.
fondations
Monoides, DAGs et dualite code/data - les structures universelles qui sous-tendent la programmation.
structures-de-types
Algebre des types, ADTs et fonctions totales - les bases d'un systeme de types expressif.
design-par-les-types
Make Illegal States Unrepresentable, Parse Don't Validate - utiliser les types comme garde-fous.
qualite-et-tests
Testabilite, TDD et Property-Based Testing - construire la confiance dans le code.
description-et-interpretation
Le programme comme valeur, DSLs et encodages - separer la description de l'execution.
types-et-logique
Curry-Howard, Propositions as Types, Refinement Types - quand les types deviennent des preuves.
patterns-avances
Currying, injection implicite, interfaces et decisions architecturales - les patterns avances.
Last updated on