Identifiez les nouveaux défis des applications industrielles modernes comme Twitter. Comprenez les limites des langages de programmation traditionnels (JAVA, C++, C#) face à ces défis. Comprenez également les limites des langages de script tels que Groovy, Ruby. Analysez le positionnement et les atouts du nouveau prétendant au titre de langage de référence : le Scala . Comprenez enfin la valeur ajoutée de Scala pour le développeur Java.
Prérequis
Aucun.
Objectifs
Comprendre les besoins des applications modernes
Comprendre les limites des langages de script
Liens utiles
Présentation Alex Payne : why scala ?
Livre O’Reilly : programming scala
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis
Programme
Partie 1 : contexte et nouveaux besoins
Partie 2 : limites des langages de script
Partie 3 : positionnement de Scala
Durée
10 min
Partie 1 : Contexte et nouveaux besoins
Alors que la machine virtuelle Java (JVM) n’a jamais été aussi performante, le langage Java, tout comme C# et C++ ne réponds pas efficacement aux nouveaux besoins des applications modernes, comme Twitter (développé avec Scala).
En particulier, le caractère modifiable (‘mutable‘) des ressources Java rend l’API d’accès concurrents complexe et source d’erreurs.
Partie 2 : l’exemple Twitter
De nouveaux langages sont nés pour essayer de répondre à ces besoins, tout en contribuant à une meilleure productivité des développements : Groovy, Ruby & Rails, Python. C’est dans ce contexte qu’est né Twitter, initiallement codé avec Ruby & Rails. Ce sont les limitations de Ruby pour les longs processus ainsi que la flexibilité de Scala qui ont poussé l’équipe de développement de Twitter à penser à Scala.
Partie 3 : positionnement de Scala
Le langage Scala rassemble les avantages de la programmation orientée Objet et de la programmation fonctionnelle. Il répond à l’ensemble des besoins des applications modernes.
Le prix à payer : sa complexité.
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis