Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala programs run on the Java VM, are byte code compatible with Java, and can make full use of existing Java libraries or existing application code.