
Scala Native est un compilateur AOT optimisant pour Scala construit sur l'infrastructure de compilateur LLVM. Pour information, la compilation anticipée (ou compilation AOT) est une compilation qui traduit un langage évolué en langage machine avant l'exécution d'un programme. Elle s’oppose à la compilation à la volée (JIT) qui se fait lors de l'exécution du programme. Cela signifie qu'il n'y a pas de phase warm-up qui est commune aux compilateurs JIT ; ce qui assure donc un démarrage instantané avec Scala Native.
Contrairement à l'implémentation de référence de Scala générant un bytecode qui s'exécute sur la machine virtuelle Java (JVM), la toolchain de Scala Native produit des exécutables natifs autonomes. D’après l’équipe de développement, cela permet à Scala de s’exporter de plus en plus vers des dispositifs à ressources limitées.

Moins d’un an après l’annonce du projet, Scala Native a gagné en maturité avec la finalisation de certaines fonctionnalités en termes de couverture du langage Scala. Scala Native v0.1 prend en charge l'ensemble du langage Scala, y compris les fonctionnalités plus avancées, « avec des différences sémantiques négligeables », d’après l’équipe du projet.
Parmi les autres fonctionnalités intéressantes de cette première version, on note également une interopérabilité transparente avec le code natif, mais également la prise en charge des IDE Scala existants. À cela, on peut ajouter encore une intégration parfaite avec sbt (simple-build-tool), un outil de build dont l'objectif est de fournir des fonctionnalités basiques et avancées très simples à implémenter sur un projet Scala ou Java. Scala Native v0.1 supporte également, mais en partie, les bibliothèques JDK de base.
Source : Blog Scala
Et vous ?



Voir aussi :

