Scala, un langage évolutif sur la machine virtuelle Java
Créé par le LAMP group à l' Ecole Polytechnique Fédérale de Lausane (EPFL), conduit par le professeur Martin Odersky, Scala est un langage de programmation universel conçu pour permettre un code concis et simple. Il est proche de Java avec des emprunts à divers autres langages.
Il s'inspire de la programmation orienté-objet autant que des langages fonctionnels. Selon les auteurs, le code Scala est de deux à trois fois plus concis que le code équivalent en Java.
Le mot scala est un raccourci pour SCAlable LAnguage et signifie aussi escalier en italien, ce qui symbolise la programmation par paliers.
Le compilateur est sous licence BSD.
Caractéristiques de Scala
- Orienté-objet: toutes les valeurs sont des objets.
- Fonctionnel: les fonctions sont des valeurs.
- Syntaxe proche de celle de Java. Compilé en bytecode Java.
- Fonctions anonymes.
- Fonctions de premier ordre.
- Statiquement typé.
- Classes génériques.
- Méthodes polymorphiques.
- Abstractions.
- Extensible: une méthode peut être utilisée comme opérateur.
- Fonctions imbriquées.
- Pas de terminateur tel que ; à la fin des instructions.
- Pas de break et de continue.
- Une fonction est définie par l'opérateur def et l'en-tête est comme en Pascal.
- Expressions régulières définies par du code procédural.
- Compatible avec le runtime Java.
- Compatible avec le runtime .NET.
Exemple de code en Scala, afficher "Salut le Monde!"
object HelloWorld {
def main(args: Array[String]) {
println("Salut le Monde!")
}
}
Pourquoi utiliser Scala?
Scala facilite l'évolution progressive des programmes dans le temps.
Le code Scala peut facilement s'interfacer avec du code Java prééxistant. Il est en fait compilé en bytecode Java. On peut donc utiliser les deux langages dans un même programme, Scala offrant notamment l'avantage d'une plus grande concision.
Scala permet de traiter facilement des documents XML.
Le site social Twitter a abandonné le langage Ruby pour le backend et programmé ses services en Scala, cela pour profiter de la nature évolutive du langage. Le site augmente progressivement son audience et offre de nouveaux services avec le temps, d'où le besoin d'un langage qui facilite l'extension des programmes sans les réécrire.
Outils et documents
- Scala
Site du langage. Téléchargement du compilateur et manuel de référence. - Getting started
Comment faire et lancer un programme simple. - Twitter et Scala
Interview des programmeurs du site social qui ont implémenté Scala. - On peut réaliser des applications pour Android avec Scala grâce au projet Scala For Android.

