Architecture & Méthodologies

La beauté et la joie de coder avec une seule variable

Conférence - 45min DébutantFrançais

Jeudi 16:30, Amphi A

Les états mutables qui s’éparpillent et les effets de bord cachés sont un important vecteur de bugs et de dette technique. Si les langages modernes intègrent de plus en plus de concepts fonctionnels, l’implémentation d’une architecture propre reste complexe.

Dans ce talk 100% live-coding (0% slides), nous allons appliquer de manière radicale le pattern Functional Core, Imperative Shell. L’objectif ? Isoler toute la logique métier dans un noyau purement fonctionnel, asynchrone et testé unitairement, enveloppé par une coquille impérative gérant les effets de bord à l’aide d’une seule et unique variable mutable.

Vous allez peut être penser “Un talk sur la programmation fonctionnelle ? J’ai déjà vu ça en 2018” Oui… et non !

Nous coderons avec Snap!, un outil de programmation visuelle par blocs (un cousin de Scratch). Snap! est créé et utilisé à l’université de Berkeley pour enseigner “The Beauty and Joy of Computing”. De la programmation fonctionnelle, oui, mais avec des blocs qu’on glisse à la souris, comme dans un jeu d’enfant, pour une expérience visuelle inattendue.

Bref, on va jouer avec des Lego fonctionnels. Loin d’être un gadget, les blocs retirent toute la complexité syntaxique pour rendre l’architecture visible et mettre l’éclairage sur ce qui rend une application testable et évolutive indépendamment du langage utilisé.

Photo de Olivier Azeau

Olivier Azeau

  • Icône Github
  • Icône Linkedin
  • Icône site personnel

Je code pour m’amuser et je joue pour être sérieux. Et vice-versa. Praticien du développement agile de logiciels depuis 2004, j’aime les situations complexes où les solutions sont quelque part entre l’excellence technique du code et la prise en compte sincère des facteurs humains. Co-fondateur de l’association Agile Toulouse.

Voir le programme