Scala is een object-functionele programmeer- en scripttaal voor algemene toepassingen. Het is statisch getypeerd, ontworpen om oplossingen bondig uit te drukken, op een type-veilige, elegante en lichtgewichte wijze. Het integreert de voordelen van objectgeoriënteerde en functionele principes. Moderne software-constructies (closures, monaden, staartrecursie etc.) kunnen opgezet worden met bijvoorbeeld genericiteit, hogere-ordefuncties, patroonvergelijking, meervoudige overerving, call-by-name-evaluatie etc. Scala draait op Java’s virtual machine (JVM) en kan enkele tekortkomingen van Java wegnemen (bijvoorbeeld meervoudige-overerving van klassen).