Java, introduced for the first time sixteen years ago, is considered to be a mature, well-established programming language suitable for wide range of tasks. Originally designed as a language for programming interactive television, over the years, it has evolved to a language suitable for implementation of everything from mobile games to large-scale enterprise systems.
However, as with most mature languages, programming in Java is not fun anymore. Luckily, there is a new kid on the block which aims to bring the fun back into programming. Scala is designed to the truly "scalable language" which is able to grow with the demands of its users, combining object-oriented and functional features while leveraging the power of Java platform and existing Java ecosystem. Moreover, its focus on concurrent programming makes it an excellent language for development of highly parallel, distributed systems targeting modern hardware architectures.