Not only has it all you can expect from a modern programming language (functional and OO-programming, an exceptionally good type-system which is statically but does not stand in the way, providing type inference, generators, sequence comprehensions), it also provides the ultimate answer to the old singel vs. multiple inheritence discussion: Traits. And it has the additional bonus of running on a JAVA JVM, but you can also run it on .NET: http://scala.epfl.ch/docu/clr/index.html