La particularité du language Scala est que l’on peut faire les choses de plusieurs façons. Le language est très riche. Il existe des librairies qui viennent enrichir le language (et aussi rendre les choses parfois plus complexes lorsque l’on démarre..).

Ce que je veux dire, c’est qu’en s’immergeant dans le monde de Scala on a toujours quelque chose à apprendre.
La première chose, est le language en lui même, avoir une vision à 360° nécessite beaucoup de pratique. Ensuite, viennent les librairies tierces qui ont pour objectif d’enrichir le language; elles ne sont pas toujours accessibles lorsque l’on débute, mais ont un certain attrait.

Maintenant que l’on a compris que l’apprentissage, en tant que développeur Scala, allait faire partie de notre quotidien on peut se poser la question :

“est-ce que j’ai connaissance de tous les ressources pertinentes qui vont m’aider dans ma quête ?”

Voici des pointeurs (liste non exhaustive) intéressants à consulter pour en apprendre tous les jours.

Le premier lien (un basique) est le site de référence : https://docs.scala-lang.org

On trouve une multitude de ressource permettant de comprendre des points généraux ainsi que des choses plus précises.
Par exemple :

  • Lien 1 qui vous guidera dans l’api collection (présentation, architecture, etc..), les implicits, Value Classes et Trait universel, la programmation concurrente,…
  • Lien 2 qui expliquera les conventions et le style à adopter lorsque l’on développe en Scala
  • Lien 3 qui vous donnera un focus sur des points précis d’implémentation
  • Lien 4 qui vous permettra de suivre les évolutions du langage

Concernant ce site de référence, c’est un petit aperçu, si ce n’est pas déjà fait, à bookmarker d’urgence 🙂

La théorie c’est bien, mais ce qui est intéressant c’est la pratique lorsque l’on apprend de nouvelles choses.

Pour cela il y a ce site :

Scala-Exercices

est issue d’un projet open source qui permet de se former au travers d’exercices sur le language mais aussi sur des librairies tierces (Shapeless, Cats, Doobie, ScalaCheck, etc).
Il suffit d’un navigateur pour pouvoir suivre les exercices.

Très formateur et permet de rentrer concrètement dans des librairies de haut niveau.

Connaitre le langage c’est une chose, son écosystème en est une autre, il existe un site, maintenu par le Scalacenter, ScalaDex C’est un moteur de recherche au travers des différents projets openSource pour Scala.

Aussi, si vous êtes un contributeur actif sur des projets open source, vous trouverez une liste des projets majeurs de la communauté.

Tout ça est bien intéressant, mais à qui je peux poser une question, quand je comprends pas et que mon collègue guru en Scala n’est pas dispo?

Et bien il existe un Gitter dédié à Scala en français, il est accessible ici : Scala gitter. On y retrouve toute la communauté et des personnes très qualifiées prêtes à échanger.

Maintenant, si vous n’en avez pas assez et que vous cherchez un mix de tout ça … il y a ScalaIO 😉

La liste des ressources est loin d’être exhaustive, n’hésitez pas à l’enrichir…en commentaire