· Tech watch

Retour sur le Paris JUG Scala

Cette session m’a permis d’éclaircir un peu ce qui se cache derrière le langage Scala lors
des deux conférences données au cours du Paris JUG du 14 à l’ISEP. Pas besoin de faire un compte-rendu détaillé des conférences
puisque c’est déja fait : http://thecodersbreakfast.net/index.php?post/2010/04/11/Paris-JUG-Scala.

Tout d’abord, il faut signaler que pour ma première participation au Paris JUG, j’ai été enchanté par l’ambiance bon enfant et par les organisateurs.

Scala est une salle d’opéra à Milan mais aussi un langage mêlant programmation orientée-objet et fonctionnelle, tournant sur la JVM. Selon James Gosling (un des fondateurs de Java) :
“If I were to pick a language to use today other than Java, it would be Scala.”
Rien que ça.

Donc, venons-en au fait, voici mes impressions de Scala appliquées à l’entreprise :

Positives :

  • l’ajout de la programmation fonctionnelle donne un autre niveau d’abstraction permettant par exemple de manipuler simplement des opérations sur des listes, de factoriser des traitements
  • gestion des Null (Option) : évite les NullPointerException mais il me semble que le code métier nécessitera toujours de vérifier si l’objet est null ou pas (dissocier le cas d’erreur du cas normal)
  • les Actors permettent de repenser la concurrence de façon simple. Bonne chose, les Actors ont été portés pour Java : Kilim http://www.malhar.net/sriram/kilim/
  • adopté par des entreprises importantes :
  • * Twitter : gestion des messages
  • * EDF
  • * Siemens : mise en place d’un réseau social
  • * … et les autres
  • les traits : séparation des membres et des méthodes au sein d’un objet
  • support du XML natif : le code XML s’écrit directement dans le code (<foo>bar</foo>) sans "" (à la différence d’une string). Le parsing est simple aussi (exemple complet : http://www.ibm.com/developerworks/library/x-scalaxml/)

Négatives :

  • l’écriture concise y est présentée comme bénéfique mais j’y vois aussi un risque de générer du code trop complexe, illisible
  • changement de paradigme : il faut revoir sa manière de coder en Scala, nécessite un investissement conséquent
  • la rétro-compatibilité n’est pas encore assurée, cela peut être un frein à l’adoption du langage en entreprise
  • framework lift : présence de code présentation dans les classes ( ? !)
  • plugin IDE : buggé ou lent ? que choisir ? Plantage d’Eclipse 3/4 fois (et pas de refactorisation) ou attendre 20s de compilation pour 3 classes avec IntelliJ ?

En conclusion, que penser de Scala ?
Scala est prometteur et fait envie mais en tant que développeur Java en entreprise, je pense qu’il est encore un peu tôt pour passer à Scala, le tout étant de prendre le train en marche. J’attends de voir l’évolution d’ici 1 à 2 ans.

A noter que le framework Play ! prévoit pour la version 1.1 un module Scala : http://www.playframework.org/documentation/1.1-trunk/scala. Wait and see…

Un commentaire

  1. Eric Senechal

    Bonjour Guillaume

    As tu eu l’occasion de pratiquer ce langage depuis ?
    Si oui, que penses tu de son évolution et notamment avec Play ?

    Amicalement

Les commentaires sont désormais fermés.