Scala is a general-purpose programming language providing support for functional programming and a strong static type system. Designed to be concise, many of Scala design decisions aimed to address criticisms of Java. Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine.