Votre partenaire formation 100% digital

Scala

Connaître et maîtriser toutes les features et syntaxes principales en Scala

Prochaines sessions

Prochaines sessions - Scala
Date de début Ville Prix unitaire HT
3 juin 2019 Paris 1650 € Réserver
2 décembre 2019 Paris 1650 € Réserver

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

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