Not-a-Hub
Not-a-Hub copied to clipboard
Suite d'articles sur les bases de Scala 3
Sujet de l'article
Motivation
Malgré une relativement bonne base de développeurs seniors et de professeurs, Scala a toujours peiné à attirer de nouveaux développeurs en particulier de jeunes développeurs. La communauté du langage semble s'accorder sur trois principales causes:
- La syntaxe parfois ésotérique (notamment avec le mot clé
implicit
en Scala 2 qui signifiait 3 choses différentes). - La communication assez pauvre en dehors de ceux qui connaissent déjà le langage.
- Le manque de cours s'adressant aux vrais débutants. La plupart des cours "pour débutants" rentrent dans des détails peu pertinents pour les débutants et partent du fait que les lecteurs ont déjà certaines connaissances en programmation.
Le but de ces "cours" est de permettre aux débutants de découvrir Scala et d'en apprendre les bases sans les couvrir de notions "compliquées".
Pourquoi Scala 3 ?
Scala 3 étant nouveau, on pourrait se dire qu'il serait plus judicieux d'apprendre Scala 2, plus matûre.
Cependant, Scala 3 est en rapide adoption (1014 bibliothèques en un an, soit un tier de Scala 2.13.x, avec un bon support des différents outils externes, build tools, IDEs, etc...). De plus, Scala 3 possède plusieurs fonctionnalités qui le rendent plus adapté pour l'apprentissage:
- Nouvelle syntaxe moins "bruyante" basée sur l'indentation
- Plus de "god keywords" (comme
implicit
cité plus haut) - Des messages d'erreur plus précis
- Une volonté générale de rendre le langage plus "beginer-friendly"
Structure de la suite d'articles
Je ne suis pas encore tout à fait sûr de la structure exacte de cette série de cours. Pour l'instant, je compte me baser sur une structure similaire à celle de l'article de Daniel Ciocîrlan avec quelques changements toutefois:
- Prérequis
- Variables et types de données de base (nombre entier, flottant etc...)
- Conditions
- Boucles (while + for)
- Fonctions
- Collections (et probablement généricité)
- Plusieurs articles sur la POO
- Plusieurs articles sur la programmation fonctionnelle
- À voir plus tard