J’ai préféré la deuxième journée. Cela serait un peu simple, mais c’est vrai. Arrivé vers 09h28, avec 2 minutes d’avance sur la session de 9h30, largement le temps donc de garer mon tram en double file, j’embraye par… 3 heures de programmation fonctionnelle… Olé, et sans les mains ! Plus sérieusement, j’ai passé 3 heures passionnantes avec Venkat Supramaniam. Il dresse un état des lieux entre le paradigme impératif et fonctionnel, en utilisant Java 8, Groovy et Scala. Vraiment, si vous voulez comprendre le futur de Java, je vous conseille son talk sur Parleys. Que faut-il retenir ? Et bien tout d’abord une vision. La majorité des présentations actuellement autour de Java 8 et des lambdas se concentrent sur la syntaxe. Or s’il est important de comprendre les nouvelles possibilités du langage, encore faut-il pouvoir les expliquer. Et c’est ce qu’il va faire. Qu’allez-vous pouvoir faire avec Java 8 ? Quels sont les apports de l’approche fonctionnelle ? Est-ce que Java devient fonctionnel ?
Sur la forme, il n’y avait pas de slides. Il nous a tenu pendant 3 heures avec un éditeur de code. Oui, un éditeur de texte… Et ce qu’il a montré permettait à chacun de se faire une idée de Java 8, de Scala et de Groovy. Car Groovy est fonctionnel. Les exemples de code permettent de comprendre la différence d’approche entre ces 3 langages. Si Scala est le seul à proposer une optimisation tailrec au niveau de la compilation et de l’exécution, Groovy a aussi des secrets bien gardés comme le mot clé « trempoline« .
Mettez aussi un sachet dans votre thé avec « Memoization » et je vous le promet, vous serez brillant lors des dîners en société. Honnêtement, il faut s’intéresser à l’approche fonctionnelle de Groovy, car il y a des idées intéressantes.
Ce que je retiens de ces 3 heures : Java 8 amène un changement et surtout, doit vous amener à comprendre l’approche fonctionnelle. C’est limpide en Clojure, important en Scala, et indispensable pour utiliser Java 8 tel qu’il a été pensé. J’ai peur que les développeurs se focalisent sur la syntaxe et l’API, sans pousser plus loin la porte du paradigme fonctionnel… L’immutabilité par exemple dans le monde Java n’est pas aussi présente que dans le monde Scala. Je trouve aussi que la syntaxe Java n’apporte pas grand chose par rapport à Scala ou Groovy. Pire, je la trouve trop bas niveau. En tant que développeur, Java m’a résolu le problème de la gestion de la mémoire et le fait que mon code s’exécute sur toutes les machines avec JVM. Et donc, je n’ai pas d’intérêts à venir comprendre le coeur de l’implémentation des lambdas expressions. Bref pour conclure, cette présentation vous permettra de comprendre la programmation fonctionnelle et ce qui vous attend avec Java 8. C’était la meilleur présentation pour moi sur ces 2 premiers jours.
Après une petite pause déjeuner, j’embraye avec la présentation de Matt Raible. Disons-le simplement : je n’ai pas aimé. Pourquoi ? Et bien je pense qu’il y avait trop d’informations, et que quelques uns de ses tricks n’ont pas fonctionnés. Durant la présentation, qui portait sur les outils à connaître lorsque l’on est développeur, il dresse un état de l’art du métier de Développeur Web. Force est de constater que depuis 2 ans, ne pas connaître Javascript est un handicap. Là où je suis d’accord, c’est lorsqu’il dit l’importance d’être polyglotte. Un développeur « complet » se doit de connaître Java, pour la partie Backend, mais aussi HTML5, CSS et Javascript. Lorsque vous offrez à un client l’ensemble de ces compétences, vous avez une réelle valeur ajoutée pour votre client. Je suis d’accord.
Sur la présentation elle-même, il y a deux choses que je n’ai pas forcément aimé. Tout d’abord l’utilisation de chiffres et de courbes. Lorsque vous utilisez Google Trends pour comparer Grails à Spring MVC, n’importe qui pourra vous critiquer (à raison) sur ces chiffres. On regarde les courbes et on se dit « and so? What’s the point? ». J’ai adoré en 2010 la présentation de Matt Raible sur les frameworks Webs. J’ai adoré en 2011 la présentation sur ses expérimentations avec différents frameworks. Mais là, désolé, ça n’a pas marché. Il enchaine avec une vidéo enregistrée de 23 mn sur AngularJS. Cette vidéo montre du « live-coding », dans laquelle il construit une application en partant de zéro. Le souci, c’est qu’il y avait trop d’informations à faire passer, et que je pense que personne ne suivait. Moi le premier, qui connait AngularJS, j’ai décroché. Bref à la pause, et Matt j’adore tes présentations normalement, moi je suis parti. Matt est un excellent speaker. Cette fois-ci, il n’a pas été aussi bon que d’habitude sur le fond. C’est cependant un excellent speaker sur la forme. Voilà.
A 16h45 j’enchaîne avec 2 petits nouveaux, qui étaient venu présenter Play2 en 2011. Guillaume Bort et Sadek Drobi sont venus présenter Prismic.io durant un Tools-in-Action de 30 minutes. En partant d’un projet fraichement créé sur Prismic.IO, Guillaume a codé une application simple, afin de nous démontrer l’utilisation de prismic.io. En quelques mots, cette solution de type SaaS permet de gérer l’édition et la publication de contenus. Vous pouvez par exemple définir vos objets comme « Conférence », « Speaker », « Thème », puis permettre l’édition de contenu et enfin sa publication. Prismic est un CMS qui a réussi à reprendre la simplicité de Play, et un côté innovant, en rupture avec les CMS du marchés. Vous forkez un projet, vous pushez une release, vous vous retrouvez avec les concepts de Git, mais appliqué à la gestion de contenu. En 30 minutes, nous avons découvert l’API Web et un exemple complet en Java. Vous pouvez démarrer avec Play Java mais aussi Spring MVC, Javascript ou même Ruby. Prismic.io est d’abord une techno web, avant autre chose. A découvrir si vous vous intéressez à la gestion documentaire.
Je referme ce billet sur le off, sans forcément tout partager. Devoxx c’est un énorme moment de discussions. Ici sur cette table, ça parle JVM et bytecode. Là on parle de Terracotta. Ici d’Android et du nouveau produit secret d’une société américaine… Tout se fait autour de ces petits moments échangés tard dans la nuit… Devoxx c’est aussi cela. Aller se coucher à 20h30 c’est manquer 40% de l’intérêt d’une conférence. C’est louper une discussion avec 2 développeurs de Google ou un évangéliste de Typesafe. Et ça, ce serait dommage.
Rendez-vous demain matin, pour l’ouverture de la partie conférence, avec les keynotes à 9h30.
0 no like
Merci beaucoup pour ce retour.
Vivement les vidéos sur Parleys en effet!
Je viens de me rendre compte que Devoxx France 2014 tombe pendant les vacances scolaires… (il me semble que c’était la meme chose pour 2013)
Est-ce fait exprès ??