Scala is a general-purpose programming language that is object-oriented, functional, and type-safe. It runs on the Java Virtual Machine and Common Language Runtime. Scala combines object-oriented and functional programming in a statically typed programming language. It is designed to express common programming patterns in a concise, elegant, and type-safe way.