Recs.
Updated
Scala is an object-functional programming and scripting language for general software applications, statically typed, designed to concisely express solutions in an elegant, type-safe and lightweight (low ceremonial) manner.
SpecsUpdate
Pros
Pro Strictly typed + type inference
Easy refactoring with compile-time validation of refactoring results. Plus many other obvious advantages of strictly typed languages. Common disadvantage of strictly typed languages is verbosity, Scala addresses it with different ways, like type inference.
Pro Compiles to JVM bytecode
Aside from Java itself, Scala is by far the most popular of the many JVM languages. If you're developing for Android, or a similar JVM-only platform, or otherwise need out-of-the-box cross-platform compatibility, but the performance of a compiled language, Scala is the way to go.
Pro Expressive functional programming abstraction for reusable and safe code
Cons
Recommendations
Comments
Flagged Pros + Cons
Con Way too complex for beginners
Even for seasoned programmers it's a difficult language.