-
Formateur(s)
Emmanuel LETALLIEUR -
Référence
SCAL
-
Durée
3 jours (21h)
-
Prix unitaire HT
1650 €
Prochaines sessions
Date de début | Ville | Prix unitaire HT |
---|
Description
Scala est un langage de programmation multi-paradigme, à la fois orienté objet et fonctionnel. Il est fortement typé, compilé, et tourne sur la JVM. Conçu et maintenu à l’École Polytechnique Fédérale de Lausanne (EPFL), il a su conquérir petit à petit sa niche dans les entreprises, principalement pour des applications back-end et du traitement Big Data. Si l’on sait dépasser sa relative complexité au premier abord, Scala révèle rapidement ses atouts : un langage élégant, concis, performant, et dont le puissant système de types permet de détecter la très grande majorité des erreurs de programmation à la compilation plutôt qu’au runtime.
Cette formation va vous permettre de découvrir, pratiquer, et maitriser le language Scala suffisamment pour être prêt à l’utiliser dans vos projets professionnels
Objectifs pédagogiques
- Comprendre les liens entre Scala, Java et la JVM
- Acquérir une bonne compréhension des principes fondamentaux du langage Scala
- Développer une application Scala
Public cible
Développeurs souhaitant apprendre Scala
Pré-requis
Maîtriser au minimum un autre langage de programmation
Modalités d’évaluation
L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.
Méthodes pédagogiques
60 % Théorie / 40 % Pratique
Dernière mise à jour : avril 2022
Programme de la formation
Introduction à Scala et la programmation fonctionnelle
- Qu’est-ce que Scala ?
- Caractéristiques principales
- Avantages et inconvénients
- Quand l’utiliser ?
- Qui l’utilise ?
Premier programme
- Le REPL
- SBT
- Premier programme « Hello World »
Premiers éléments de syntaxe
- Déclarer des variables
- Déclarer des fonctions
- Blocks et expressions
- Opérateurs et infix notation
- if / else
- Notation des types et inférence des types
Hiérarchie orientée Objet
- Classes
- Objects
- Companions objects
- Traits
- Case classes
Eléments de syntaxe avancée
- La méthode apply() : tout est un objet
- Tuples
- Pattern matching
- Curried functions
- Call-by-name
- Types génériques
- Paramètres implicites
- Conversions implicites
Collections
- Revue de la hiérarchie des collections
- Les méthodes indispensables : map, filter, flatMap, collect, foreach, folds, etc
- Lazy collections
Autres outils indispensables
- Option : éviter les null
- Try : tolérer les erreurs
- Futures : écrire des programmes concurrents en Scala
L’écosystème Scala
- Aperçu des frameworks principaux