Over the course of the last month or so, I’ve invested some time familiarising myself with the major new features in Java 8, learning how to apply them, and understanding the benefits which can be gained from using them. As part of this exercise I’ve produced some code examples (see below) for the following features:
- Lambda expressions
- Streams (aka bulk or aggregate data operations)
- Default methods
- Date/time API
- Optional type
I’ve been tracking discussions about the Scala language and listening with interest to people’s early experiences of using it on projects since the beginning of this year (2012). Based on what I’ve heard, including the advocacy of several highly respected technical folks in the Java community that I follow, I recently decided to invest some time learning the language.
So, why should an experienced Java developer invest time and effort learning Scala? Continue reading