Scala is a general purpose programming language that aims to be concise and elegant while avoiding issues with scaling to multiple processors. It provides both object oriented and functional programming features and integrates well with Java. Scala addresses scaling challenges through its support for actors which use asynchronous message passing instead of shared memory for concurrency.