Une nouvelle soirée aura lieu le mardi 14 mai au Java User Group Toulousain.
----
Pendant
cette session nous allons essayer de comprendre pourquoi la
programmation fonctionnelle est tellement à la mode. Est-ce que c'est
juste une passade ? Qu'est-ce que la programmation fonctionnelle peut
nous apporter ?
== La programmation fonctionnelle sans céder à la mode - par Frédéric Cabestre (@fcabestre)
Aujourd'hui,
pour être à la mode, il faut parler de programmation fonctionnelle. Et
de suite on convoque les mots en vogue: « Immutabilité », « Monade » ou «
Catamorphisme ». Au mieux le message est brouillé, mal reçu. Au pire la
salle se vide !
Ce que je vous propose c'est de repartir des
principes de base, avec des idées bien arrêtées et peut-être parfois
provocatrices. Comprendre, comme le disait John Hugues, « Why
functionnal programming matters ». Cerner les quelques idées directrices
de la programmation fonctionnelle et ce qu'elles apportent concrètement
au quotidien. Voir comment et pourquoi d'autres concepts en découlent
nécessairement...
Il sera peut-être finalement question de «
Théorie des catégories » ! Mais il sera surtout question, en vrac,
d'histoire et de mise en œuvre des langages, de typage, de performance,
d'artisanat du logiciel, de « Design patterns », d'abstraction et,
soyons fou, de réification.
En somme, je vais vous parler de programmation fonctionnelle en essayant de ne pas être à la mode !
Référence CfP :
https://github.com/ToulouseJug/call-for-paper/issues/20== De l'OOP à la FP : l'affaire de la validation - par Emmanuel Nhan (@nhanmanu)
On est tous tombé au moins une fois dans cette boucle en remplissant un formulaire web :
* Remplir et cliquer sur envoyer,
* Avoir en retour un champ en erreur,
* Corriger la saisie et soumettre,
* Avoir un autre champ en erreur,
* Corriger la saisie et soumettre,
* ...
Même
chose pour l'envoi d'une requête HTTP avec un body JSON qui peut être
invalide à plusieurs endroits. Doit-on corriger chaque champ un à un à
mesure que l'on découvre les erreurs ou existe-t-il un moyen d'avoir
l'ensemble des erreurs dès la première requête ?
Dans ce talk,
nous examinerons les moyens pour remonter toutes les erreurs dès la
première validation en commençant par la solution la plus Java possible
en utilisant la JSR 303 Bean Validation. Après avoir vu les avantages et
inconvénients de cette approche, nous essayerons de construire un
programme plus fonctionnel. Petit à petit nous ferons émerger des
abstractions et nous déboucherons sur une version purement fonctionnelle
de la résolution de ce problème.
Ce talk est fait pour les
développeurs Java ou Kotlin qui veulent rendre leur code plus
fonctionnel. Par conséquent, il nécessite une connaissance de Java et
des bases de Kotlin ou Scala. Si vous connaissez déjà Scala et Cats, ne
vous attendez pas à apprendre beaucoup.
Référence CfP :
https://github.com/ToulouseJug/call-for-paper/issues/27----