Cette formation, sera dispensée par un membre actif de la communauté Scala depuis 2010, architecte développeur expérimenté qui a joué un rôle déterminant dans la mise en place de plusieurs systèmes critiques et a mené plusieurs missions de mise en production complexes au cours de sa carrière de consultant dans les secteurs de la banque et du service.
Objectif de la formation Scala
Grâce à cette formation vous serez en mesure d’utiliser de manière efficace le langage de programmation Scala, connaîtrez l’ensemble des outils principaux de Scala et découvrirez la programmation fonctionnelle.
Ce cours montre les bases de la programmation en Scala.
Après avoir étudié le support de Scala par la JVM, vous rentrerez dans le détail des concepts de la programmation objet et fonctionnelle.
Enfin, vous étudierez les librairies spécifiques à Scala ainsi que sa coexistence avec les librairies de l'écosystème Java.
Informations pratiques
Durée : 4 jours
Date de la formation : nous contacter
Lieu : Grand Hotel Kempinski Geneva, Quai du Mont Blanc 19 – 1201 Genève
Tarif
CHF 2900.- Collations et déjeuners offerts
Formation
Type de formation : Présentiel
Connaissances et prérequis
Bonnes connaissances en Programmation Orientée Objet (Java, C#, C++).
Public
Architectes, Développeurs
Pédagogie
50% Théorique, 50% Pratique
Programme
Présentation de Scala :
- Historique du langage.
- Les paradigmes objet et fonctionnel.
- Les langages pour la JVM.
- Quelle différence avec les langages Java, C# et C++ ?
- Les avantages.
- Les types d'applications utilisant Scala (Twitter...).
Mise en place :
- Le Shell Scala.
- Couplage avec les environnements de développement.
- Le compilateur et l'interpréteur Scala.
- Utilisation de SBT.
- Le déploiement sur un serveur.
- Travaux pratiques : Mise en place de l'environnement.
Les principes de base du langage :
- La syntaxe, la notation infixe. Le typage statique, les types de base.
- Les structures de contrôle. Les packages et les imports.
- Paradigme OO (Class ,case class Object, Trait), les interfaces. Les mécanismes d’inférence.
- La hiérarchie d'héritage. Les exceptions.
- Exercice : Ecriture et test d'un programme mettant en œuvre les bases du langage.
La programmation fonctionnelle :
- Le paradigme de programmation fonctionnelle.
- Le Pattern Matching (structure de contrôle case, les exceptions, la gestion des événements).
- Des données non mutables : variables, structures de données, objets... Les listes.
- Tuples et tables associatives (set). Les fonctions (passage en argument, affectation dans des variables...).
- Les méthodes d'ordre supérieur, les fonctions pures.
- Travaux pratiques : Ecriture et test d'un programme mettant en œuvre la programmation fonctionnelle.
Mise en œuvre des notions-concepts avancées :
- Types de données algébriques.
- Utilisation avancés du système de type (co- et contra variance, contraintes de type et type structurel )
- Récursivité. Les extracteurs.
- Fonctions partielles et « Currying »
- Les conversions implicites
- Le pattern « Type class »
- Exercice : Ecriture et test d'un programme mettant en œuvre les notions avancées du langage.
Utilisation des API et des librairies :
- Les collections, les conversions possibles avec les collections Java.
- Les librairies de test (ScalaTest)
- Utilisation de librairies de l'écosystème java.
- Exercice : Cohabitation d’objets Java et Scala au sein d’un même programme bien testé.