Scala, c’est quoi ?

Présentation

Définir Scala se fait par rapport à Java.

Scala est un langage qui se compile pour la JVM. Il a un typage statique et intègre 2 paradigmes : la programmation orientée objet, et la programmation fonctionnelle. Le langage a été conçu à l’École polytechnique fédérale de Lausanne (EPFL) par Martin Odersky, qui a conçu les génériques pour Java, et a écrit la base du compilateur Java actuel.

Le langage date de 2001. La première version publique date de 2003. Aujourd’hui, il est utilisé par des entreprises mondiales, par exemple Twitter ou The Guardian. Martin Odersky travaille pour la société Typesafe, dont le but est de développer, promouvoir et offrir des services autour de Scala. Le langage a quitté le monde académique pour entrer dans le monde industriel il y a quelques années déjà.

Compatibilité Scala / Java

Les classes Java sont utilisables en Scala, et réciproquement. Cela signifie qu’en Scala, il est possible d’utiliser les nombreuses librairies Java existantes, y compris la librairie standard Java.

Il est aussi possible d’utiliser en Java une librairie écrite en Scala. Un excellent exemple est Akka, qui implémente le modèle d’acteur, pour la programmation concurrente.

Une fois le code Scala compilé, on obtient des fichiers jar, qui se comportent comme n’importe quelle librairie Java. Il n’y a plus aucune différence, du point de vue de la JVM. Il y a évidemment la librairie standard Scala, qui s’ajoute nécessairement à votre projet.

Programmation fonctionnelle

Le grand intérêt de Scala est l’introduction de la programmation fonctionnelle. Avec les autres améliorations syntaxiques par rapport à Java, cela permet d’écrire beaucoup moins de code, pour exprimer les mêmes besoins, tout en restant très lisible. Certes, il faut apprendre les bases de la programmation fonctionnelle, mais cela vient vite — ce n’est pas plus compliqué que d’apprendre à utiliser une nouvelle librairie Java.

Les outils

Il y a quelques années encore, un gros reproche que l’on faisait à Scala est le manque d’outils de développement par rapport à Java. Il est clair que ces outils sont très nombreux pour Java, et que l’attente des développeurs est hautes sur ce sujet. Cela a été la priorité de la société Typesafe, qui a amélioré le plugin Scala de Eclipse. Il a aujourd’hui un très bon niveau. Il existe aussi un excellent plugin pour IntelliJ IDEA. Personnellement, j’utilise ensime pour Emacs.

Introduction dans un projet existant

Une idée pour introduire doucement Scala dans un projet existant, est de le cantonner à l’écriture des tests JUnit. On peut ainsi apprivoiser le langage, sans impact sur le code en production. Mais attention, une fois qu’on y a goûté, c’est très difficile de revenir en arrière.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>