Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

ScalaDays 2019 à Lausanne

14 juin, 2019

A l’occasion de la 10ème édition de la conférence ScalaDays, plus de 1100 personnes étaient présentes pendant 3 jours à Lausanne. En dehors de la conférence principale, cette semaine a aussi été l’occasion de pré-conférence et de post-conférence (comme le Typelevel Summit). Lunatech était présent comme exposant Platinium et comme Partenaire de Lightbend. Nous étions 25 personnes, dont 6 personnes du bureau Français.

La conférence se déroule à l’EPFL (Ecole Polytechnique Fédérale de Lausanne). Le campus, très américain dans l’esprit, est situé à la sortie de Lausanne. Dans le centre de conférence SwissTech Convention Center, magnifique bâtiment, l’espace est organisé entre une partie exposition, et une partie conférences avec différentes salles, similaire au format Devoxx.

Alors qu’avons-nous appris, quelles sont les nouvelles de la communauté Scala ? Que faut-il retenir de ces 3 jours ?

La conférence a démarré le mardi soir, avec une plénière par Martin Odersky (créateur de Scala et responsable de la recherche en programmation, à l’EPFL). Scala est un langage qui vise à intégrer 2 paradigmes de programmation. D’une part l’orienté objet, d’autre part la programmation fonctionnelle. Pour lui, ce sont 2 faces d’une pièce, et qui devraient être unifiés autant que possible (source).

Scala 3 est en phase de finalisation et sera disponible à la fin de cette année. Par rapport à Scala 2.13 / 2.14, un bon nombre d’ajouts (et aussi de retraits) visent à renforcer l’expressivité et la facilité d’utilisation du langage. Vous pourrez retrouver un résumé des nouveautés et de l’esprit de Scala 3 sur la page Overview de Dotty. Les diapositives de la présentation de Martin Odersky sont en ligne sur Slideshare.

Pour revenir à la conférence elle-même, elle célèbre sa 10ème édition. De 150 personnes à 1100 personnes, avec 20 exposants cette année. A titre personnel j’ai noté qu’il y avait très peu de Français présents à la conférence. Le public était majoritairement Européens. L’équipe d’organisations a aussi proposé un système de places offertes pour les communautés sous-représentées.

Ce mouvement, je l’ai déjà observé à Devoxx Belgique en 2018. A croire que les Français sortent peu, et ne viennent plus autant qu’avant, aux conférences en Anglais. Retour comme en 2008. C’est peut-être aussi du à l’existence de conférences en Français (comme Scala.IO ou Devoxx France). Ou alors, peut-être aussi au coût d’envoyer des développeurs à ce type de conférence.

Le programme cette année est assez ouvert.

  • Intéressé par les retours d’expériences sur l’enseignement de Scala, je suis allé voir Refactor all the things de Daniela Sfregola. Elle écrit actuellement « Get Programming with Scala » chez Manning. J’ai acheté ce livre, pour pouvoir découvrir son approche. Si vous cherchez une ressource pour apprendre le langage Scala par la pratique, c’est un bon livre. Si vous recherchez plus des explications sur le « pourquoi du comment », je vous recommande plutôt « Programming in Scala« .
  • Akka Streams to the Extreme par Heiko Seeberger. Si vous connaissez Akka Stream et que vous souhaitez aller plus loin, cette présentation est pour vous. Elle passe en revue les techniques avancées (mais relativement simple) que l’on peut mettre en place avec Akka Stream. Le code source est sur hseeberger/xtream et les slides sont ici.
  • sbt core concepts par Eugene Yokota. La présentation vise à expliquer la philosophie et les mécanismes sous-jacents de SBT. Il faut retenir surtout que les dernières versions de SBT (0.13.6 et 1.x) apportent un joli gain de performance (essayez, vous serez surpris). Je recommande la lecture du Reference Manual pour comprendre le fonctionnement de cet outil.
  • Si par contre votre base de code est énorme, vous serez certainement plus intéressé par Bazel, l’outil de build open-source proposé par Google. La présentation Building Scala with Bazel est un retour d’expérience de Natan Silnitsky de Wix.com. 250 développeurs, 10 millions de lignes de code, surtout en Scala, 750 micro-services… Bazel est un outil de build qui marche avec Maven, Ant, SBT ou autre. Il est écrit en Java. Le principe est de mettre un BUILDFILE dans chaque package, chaque répertoire de votre application. Ce Build file permet de construire un sous-ensemble de votre projet. Par exemple, toute la couche ORM ou votre modèle. Imaginez ensuite cela sur une grande base de code, avec plusieurs modules. Le tout est coordonné par Bazel. Il est pensé dès le départ pour faire des Builds répartis (aka sur plusieurs serveurs). Et il a un cache, qui prend un checksum de vos fichiers compilés, et de vos tests unitaires. Si votre collègue a déjà passé les tests unitaires pour un certain ensemble de fichiers, ils seront alors immédiatement en validé, lorsque vous passerez votre phase de test. Bon, cela revient à virtuellement partager un méga paquet d’informations… mais c’est assez étonnant. Sur une base de code qui compile en 20 minutes, avec maven, il montre une version qui compile en 8mn, puis en 2 secondes une fois que le cache est chaud. A tester pour les gros projets…
  • Scala best practices I wish someone’s told me about par Nicolas Rinaudo (cocorico un Français !) était aussi une très bonne présentation. La salle était d’ailleurs archi-complète. Le principe, vous le connaissez, est une série de Scala Puzzle. On vous montre un bout de code, vous pensez que le code fait quelque chose/que le code est correcte… et en fait non. Bam ! C’est ludique, sympa et cela permet d’apprendre des points intéressants. Nicolas a écrit un bon nombre d’articles, allez voir Scala Best Practices.
  • Nous avons aussi rencontré Sébastien Doeraene, le créateur de Scala.JS, à l’occasion de sa présentation Scala.js and WebAssembly, a tale of the dangers of the sea. Pourquoi coder en Scala alors qu’il est possible de coder en JS directement ? Chez Lunatech pour un de nos clients, nous travaillons avec Scala.js, avec scalajs-react et avec ScalaCSS. Cette approche permet de construire la partie Front en restant sur Scala. Elle apporte le typage fort (et l’auto-complétion) dans l’éditeur, permet de rester sur SBT pour la compilation, et facilite la courbe d’apprentissage pour des développeurs backend. Si vous voulez en savoir plus, je vous invite à regarder la présentation Scala.js, Scala.CSS et React, l’histoire d’une découverte par Maude Cahuet, Marc Gedik et Cédric Murer sur YouTube.
  • Côté Google nous avons eu la présentation Serverless Scala – Function as a SuperDuperMicroServices par Josh Suereth et James Ward. Les deux ont rejoint Google récemment. J’ai pu parler avec James, qui va prendre un rôle de Developer Advocate autour de la plateforme Google Cloud. La présentation était un mix de GraalVM, de ZIO, et d’Akka-HTTP, le tout sur du GCP. Cela permet de comprendre l’intérêt d’un démarrage instantané (coucou Quarkus) grâce à GraalVM. Le code source sera sur le Github de James Ward prochainement.
  • J’ai beaucoup aimé la Keynote du jeudi matin, Sustaining open source digital infrastructure par Bogdan Vasilescu. Toi qui fait un projet open-source : va voir cette présentation dès que la vidéo sera disponible. Bodgan présente différents projets de recherche menés à STRUDEL (Socio-Technical research using data excavation lab), de la Carnegie Mellon University. Par exemple, saviez-vous que les badges sociaux comme celui-ci: build success , que l’on trouve sur les pages Github, ont une influence démontrée sur la qualité du code source ? Par l’étude des commits, et de l’analyse simple, il explique comment et pourquoi certains projets deviennent populaires, d’autres non. Il parle aussi de diversité, que certaines femmes masquent leur identité avec un pseudo masculin, dans le but de ne pas être dérangé, tout en pouvant contribuer… Bref une grande balade autour de l’open-source, avec un oeil universitaire. A voir absolument !

Enfin pour terminer, un peu d’annonces aussi du côté de Lightbend, avec la sortie de Lightbend Pipelines. Nous allons évaluer cette solution prochainement dans le cadre du partenariat entre Lunatech et Lightbend. Non, ce n’est pas un produit open-source. En attendant, qu’est-ce que Pipelines peut faire pour vous ? Vous avez différents services à intégrer avec Spark, Kafka, Akka ? Le produit permet de coordonner et de créer des tuyaux de transformation de la data. Le tout avec Kubernetes. Passé la démonstration (qui était vraiment bien faite), on retrouve des principes de transformation, extraction et enrichissement des données, à l’aide de patterns venant directement des EIP (Enterprise Integration Pattern). Au passage, un peu de BPM pour définir la chaîne de valeur, le tout dans une belle console, et voilà.

La Community Party

Je ne peux pas passer sous silence la très belle soirée offerte aux participants… par Lunatech. Au sein du musée Olympique à Lausanne, avec une vue directe sur le Lac Léman, avec un groupe de Jazz… c’était vraiment un très bon moment. Fin de la publicité pour Lunatech, mais mince, c’était super bien !

… mais où sont les Français ?

J’ai trouvé que la communauté était vraiment dynamique, et plus importante qu’il y a deux ans, lors de mon dernier Scala Days à Copenhague. La présence d’éditeurs et de startups durant le salon (autour des crypto-monnaies et de la Data) contre-balance l’absence d’éditeurs comme Confluent, Elastic, Cloudera ou Databricks.

Encore une fois, peu de Français. Plus personne des cabinets de conseil de Paris. Certains se sont fait racheter, et du coup, il est peut-être plus difficile de participer à ce type de conférence (même comme orateur). Item pour les grosses SSII Françaises. Idem pour les clients finaux, complètement absent.

Dommage car c’est dans les couloirs, les rencontres et les discussions, que tout se fait. Il faut par contre viser Européen, et ne pas rester que sur le marché Français, qui n’est pas assez important pour l’instant, sur le langage Scala.

A suivre…

0 no like

Articles similaires:

Scala Days 2016 Berlin Default ThumbnailLancement du Paris Scala User Group Le code source du CFP de Devoxx France est sur Github Default ThumbnailQuelques conférences pour cet automne

Chercher

Derniers articles

  • L’instant T où tu poses ta dém…
  • The « Robinson » projection – comprendre son système d’information
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise
  • Gérer les situations de blocage en tant que Staff Engineer
  • Un monolithe, c’est quoi ?

Commentaires récents

  • Nicolas Martignole dans The « Robinson » projection – comprendre son système d’information
  • Lucas dans The « Robinson » projection – comprendre son système d’information
  • Guillaume dans The « Robinson » projection – comprendre son système d’information
  • Francois Dechery dans The « Robinson » projection – comprendre son système d’information
  • Gaëtan dans The « Robinson » projection – comprendre son système d’information

Les plus lus

  • Les revenus d’un informaticien indépendant en EURL - 89 684 affichage(s)
  • Optional en Java 8 - 70 951 affichage(s)
  • Changer la batterie d’un MacBook Pro de 2011 - 65 588 affichage(s)
  • Quelle est la différence entre volatile et synchronized ? - 65 465 affichage(s)
  • Retour sur la soirée du lundi 12 juillet chez Doctolib - 63 072 affichage(s)
  • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 57 801 affichage(s)
  • Redis, découverte d’un moteur clé-valeur simple et puissant - 51 018 affichage(s)
  • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 45 657 affichage(s)
  • serialVersionUID mythes et légendes - 41 900 affichage(s)
  • Développeur après 31 ans ? Ridé et chauve tu seras - 39 394 affichage(s)

Mots clés

agile ajax Apple architecture barcamp BarCampJavaParis ddd devoxx esb exo flex geek google grails groovy humeur humour independant iphone Java javascript jazoon jboss jboss seam jsf jug Linux mac mule paris jug parisjug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express