keynote_Scala_days_2016_IMG_6015Me revoilà à Berlin, 2 ans après Scala Days 2014. Nouvel endroit, plus grand. Beaucoup de visages connus de la communauté, et une grosse ambiance. Scala Days 2016 c’est 1000 personnes (contre 550 personnes en 2014) d’après les organisateurs. La conférence est divisée en Track, un peu comme Devoxx.

Martin Odersky, créateur de Scala, a ouvert mercredi soir la conférence, avec une keynote axée sur le langage, ses prochaines évolutions, et les projets de la communauté. 2016 est une année d’accélération pour Scala, et la communauté. Plus de 50% des développeurs ont débuté à coder en Scala ces 3 dernières années. Cela veut dire qu’il y a eu une grosse accélération, que la communauté est plutôt jeune. Je vous confirmerai cela en vous donnant les résultats de l’enquête sur Scala en France prochainement.

Scala Center est une nouvelle organisation à but non lucratif, dédiée à supporter le langage, distinct de Lightbend. Si Lightbend continue d’assurer la distribution du langage, Scala appartient à l’EPFL. Scala Center est organisé pour préparer et produire aussi des cours, comme les cours sur Coursera consacré à Scala.

Coté langage, la version 2.12 actuellement en release candidate, devrait sortir mi-2016. Fortement axé sur le support des nouveautés de Java 8, cette version amène 33 fonctionnalités/features que vous pouvez suivre sur Github. A noter aussi si vous cherchez un livre de référence sur Scala, que Martin édite la 3ème version du célèbre Programming in Scala. Je le recommande pour son côté universitaire et didactique. Si vous êtes développeur Java, et que vous préférez découvrir le langage par la programmation, alors Pragmatic Scala de Venkat Subramaniam est plus adapté.

Après la 2.12, Martin explique que la version 2.13 travaillera sur les librairies de bases. L’API Collection tout d’abord, pour la booster et prendre en compte les évolutions du langage. Enfin il évoque la possibilité un jour d’avoir un moteur (une vm) scala native… sans passer par la JVM.

Il parle ensuite du projet DOT, qui conclut 8 années d’effort pour créer un calculus. Imaginez prendre Scala, le faire griller jusqu’à ce qu’il ne reste qu’une structure, et que tous les artefacts soient brulés… vous avez le squelette ou la colonne vertebrale du langage. Dans l’article The Essence of Scala,  vous pourrez lire et découvrir les motivations de ce projet.

L’application de DOT, c’est dotty, un compilateur de nouvelle génération pour Scala, deux fois plus rapide que le compilateur actuel. Pour l’instant ces travaux sortent juste de la phase académique. Il faudra 2 ans je pense avant d’en voir les bénéfices dans l’industrie, sur le langage lui-même.

Martin Odersky présente ensuite les évolutions du langage, de la syntaxe, et les motivations. Scala reste un langage simple à apprendre, sans pièges, dans lequel il y a peu de complexité. Je vous invite à lire « Strategic Scala Style : Principle of Least Power » par Li Haoyi, l’un des développeurs de Scala.JS. La complexité est l’ennemie du développeur. Avec le système de type en Scala, il ne faut pas avoir peur de travailler par vague. Une première solution basée sur les éléments les plus simples d’une librairie fera l’affaire. Et vous pourrez refactorer ce code plus-tard, si nécessaire.

Pour conclure, cette keynote montre la dynamique actuelle dans la communauté Scala. De plus en plus de contributeurs, et de nouveaux projets. Le projet Scaladex regroupe l’ensemble des librairies, et des outils du monde Scala. Ajouter aussi le projet Awesome Scala, si vous cherchez un driver SQL, un framework Web ou une librairie JSON… et vous avez de quoi avancer.

Allez, j’y retourne. Encore tellement de sujets à découvrir.

beer_scala_days_IMG_6003

IMG_6031