Conçu à l'École polytechnique fédérale de Lausanne (EPFL), le langage de programmation Scala permet d'exprimer les modèles de programmation courants dans une syntaxe épurée. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle. Le langage, facilement extensible et statiquement typé, peut être compilé en Java. Il est interopérable avec la JVM (Machine Java Virtuelle) et Java. La mise à jour du langage JVM en version 2.10, prévue prochainement, doit apporter des améliorations dans la programmation asynchrone et celle des classes, et dans les outils de développement. Comme l'a déclaré Martin Odersky, le fondateur de Scala, une Release Candidate - la dernière étape avant la version finale - sera disponible d'ici deux à trois semaines et, si tout va bien, la sortie de la version finale pourrait suivre deux semaines plus tard.

Pour développer en parallèle ou pour Android

Scala est un langage multi-paradigme, qui sert aussi bien à développer la pile logicielle Typesafe pour le calcul parallèle et distribué que pour le développement d'applications mobiles Android. L'amélioration dans le développement des valeurs de classes prévue pour la version 2.10 apportera au langage une capacité équivalente à ce que sait faire le C#, à savoir les classes n'ont pas d'influence sur l'exécution. « Vous pouvez définir des classes sans avoir à supporter par dessus l'allocation d'objets», a déclaré le fondateur. En outre, les développeurs peuvent créer des conteneurs de petite taille et des proxies qui ne nécessitent pas la création d'objets. « C'est plus efficace, et il faut créer moins d'objets », fait encore remarquer Martin Odersky.

La version 2.10 mettra aussi l'accent sur une abstraction des futures. Avec les futures, les valeurs sont produites à un moment donné dans l'avenir. Les futures permettent une abstraction légère pour répondre aux défis de la programmation asynchrone sur le Net. Également incluse dans cette mise à jour, une bibliothèque de « réflexion » spécifique à Scala. Une « réflexion » trouve en quoi consiste un programme au moment de l'exécution du runtime. Avec cette fonctionnalité, associée à une nouvelle fonction de type dynamique, il est plus facile d'interagir avec les langages dynamiques comme JRuby pour les programmes qui contiennent à la fois du code dynamique et du code Scala.

Débogage Eclipse

Scala 2.10 comporte aussi de meilleures fonctions de débogage pour les IDE Eclipse et IntelliJ Idea. Comme l'avait souhaité le fondateur de Scala, le compilateur peut travailler graduellement avec Apache Maven, un outil pour la gestion et l'automatisation de production de projets logiciels Java. Une feuille de calcul prête pour fonctionner avec l'IDE Eclipse sera fournie pour le traçage du code et les tests. Enfin, la version 2.10 profitera aussi de la correction de certains bugs.

Toutes ces nouveautés concernant la mise à jour de Scala seront abordées par Martin Odersky lors de la JavaOne Conference qui se tient actuellement (du 30 septembre au 4 octobre) à San Francisco.