devfest-lille-2023
Meta
- Titre : La programmation fonctionnelle, c'est pas que dans les livres.
- Catégorie : langages
- Format : conférence (50min w/ Q&A), live coding
- Langue : français
- Prérequis : connaissance usuelle de JavaScript et TypeScript
Abstract
La programmation fonctionnelle pâtit d'une bien mauvaise image : compliquée voire élitiste, en tout cas inapplicable au quotidien. En un mot : théorique.
Tout l'objet de cette conférence en forme de live coding sera de vous démontrer le contraire.
Ensemble, nous allons refactorer une fonction qui calcule le montant d'un panier d'achat, dans un contexte e-commerce. Tout le long, nous discuterons de notions simples telles que l'immutabilité, les fonctions pures ou encore la curryfication. Et une petite surprise vous est réservée sur la fin.
Tout ça en JavaScript. Oui. Ce langage a bien des défauts, mais il est incontournable dans notre univers professionnel, c'est un fait. Haskell est un langage magnifique, mais si vous devez apprendre Haskell pour faire de la programmation fonctionnelle, ça ne changera rien à votre quotidien. Donc on reste en JavaScript, qui, sans être un langage fonctionnel strict, possède toutes les fondamentaux nécessaires à l'écriture de code purement fonctionnel.
Déroulé
Une fonction qui calcule le montant d'un panier d'achat, dans un contexte e-commerce.
On refactore un code de A à Z, en discutant au fur et à mesure des notions essentielles :
- Paradigme impératif vs. déclaratif
- Immutabilité
- Side causes
- Fonctions pures
- Composition
- Closures et curryfication
- Functors (la cerise sur le gâteau !)