Scala est un langage de programmation à usage général ciblant principalement la machine virtuelle Java. Conçu pour exprimer des schémas de programmation communs de manière concise, élégante et sûre, il fusionne à la fois les styles de programmation impératifs et fonctionnels. Ses principales caractéristiques sont: un système de type statique avancé avec inférence de type; types de fonctions; correspondance de motifs; paramètres et conversions implicites; surcharge de l'opérateur; interopérabilité totale avec Java; simultanéité