Scala é uma linguagem de programação multi-paradigma estaticamente tipada que suporta programação orientada a objetos e funcional. Ela oferece características como inferência de tipo, imutabilidade, modelo de atores, case classes, coleções, curryng e funções de alta ordem para permitir escalabilidade e migração gradual para programação funcional.