**Cette formation Scala vous permettra de maîtriser Scala en alliant programmation orientée objet et fonctionnelle.
En trois jours, vous explorerez :
- les fondamentaux (syntaxe, classes, collections),
- la programmation fonctionnelle (immuabilité, monades, gestion des erreurs avec Option et Either), et
- les concepts avancés (les implicites, les génériques ou la métaprogrammation).
Que vous souhaitiez développer des projets Big Data ou des applications modernes, cette formation vous équipera des outils essentiels pour vous lancer avec Scala.
Cette formation s’adresse aux développeur·euse·s et ingénieur·e·s logiciels souhaitant apprendre à maîtriser Scala.
Si vous êtes intéressé·e plutôt pour apprendre à maîtriser le Big Data, découvrez notre formation Big Data !
Les objectifs
- Comprendre les bases de Scala (syntaxe, écosystème, programmation fonctionnelle et programmation orientée objet)
- Maîtriser les concepts fonctionnels de Scala
- Manipuler les collections et appliquer le pattern matching efficacement
- Exploiter les fonctions avancées (récursivité, implicites, génériques et calculs asynchrones)
- Modéliser des systèmes robustes avec les types algébriques de données (ADT)
- Développer des solutions optimisées grâce à la mémoïsation et l’évaluation paresseuse
Pré-requis
- Connaissances de base en programmation (idéalement en Java ou un langage similaire)
- Familiarité avec les concepts d’objets (classes, instances)
- Ordinateur portable à apporter
Le programme de la formation Scala
Jour 1 : Fondations et prise en main de Scala
-
Introduction à Scala
- Historique et panorama général
- Pourquoi choisir Scala ?
-
L'écosystème Scala
- REPL : Exploration interactive
- Sbt : Gestion de projets et builds
- Syntaxe de base
-
Programmation orientée objet avec Scala
- Classes et instance
- Objets (companions et singletons)
- Tuples
- Décomposition d’objet avec extracteurs
- Case class
- Méthodes
apply
et unapply
- Correspondance de motifs (Pattern Matching)
- Traits (Interfaces avec implémentation)
-
Collections en Scala
- API standard des collections
- Variance : Covariance et contravariance
Mises en pratique :
- Créer une case class Personne avec un pattern matching pour extraire et afficher ses attributs (nom, âge)
- Implémenter une petite collection de nombres avec une méthode pour filtrer les pairs en utilisant l’API standard
Jour 2 : Programmation Fonctionnelle et Modélisation
-
Structures fonctionnelles
- Gestion des valeurs absentes :
Option
- Gestion des erreurs :
Try
- Choix entre deux types :
Either
- Calculs asynchrones :
Future
- Monades : Concepts et applications
-
Philosophie de la programmation fonctionnelle
- Données non modifiables : Immuabilité
- Fonctions sans effets secondaires : Pureté
- Gestion de l’état dans un paradigme fonctionnel
- Modélisation avec les types algébriques de données (ADT)
Mises en pratique :
- Écrire une fonction qui utilise Option et for-comprehension pour gérer une division sécurisée
- Modéliser un système de gestion d’erreurs avec Either pour valider une entrée utilisateur
Jour 3 : Concepts avancés de Scala
-
Fonctions d'ordre supérieur
- Transformation de fonctions: Currying
- Approche et optimisation de la récursivité
- Memoization pour la mise en cache des résultats
- Évaluation paresseuse (
Lazy
)
-
Mécanisme des implicites
- Résolution automatique des valeurs implicites
- Conversions implicites
- Extension de fonctionnalité des classes implicites
- Génériques : Types paramétrés
- Métaprogrammation en Scala avec les macros
- Librairies : Aperçu des outils tiers
Mises en pratique :
- Développer une fonction récursive avec mémoïsation pour calculer la suite de Fibonacci efficacement
- Utiliser une classe implicite pour ajouter une méthode personnalisée à une classe existante
Télécharger le programme
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié
Qualiopi, ce qui permet la prise en charge par des organismes comme
Pôle emploi, votre OPCO ou encore le
CPF (Compte Personnel de Formation) pour certaines formations.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
- 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
- 9h30 : la formation commence
- 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
- 14h : reprise de la formation
- 18h : fin de la journée
8 raisons de participer à une formation Human Coders
- Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1646 sessions réalisées). 99% des participants se disent satisfaits de nos formations
- Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
- Catalogue de formations complet : 170 formations au catalogue, de quoi vous accompagner sur tout vos projets
- Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
- Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
- Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
- Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
- Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux