A look at Java 8

So finally I had some time to look at Java 8 and the new features. I picked the excellent book “Java 8 in Action : Lambdas, streams and functional-style programming” to update myself. As always Manning’s books are easy to read and follow on a new subject, but still in-depth.

Lambdas

As the title indicates one big part is about Lambdas and the new way of functional design it implies to the world of Java. It will for sure lead to more comprehensive code which is almost always better until it gets too implicit and the developer who tries to understand it with not enough skills misunderstands the code.

The possibilities to use and pass functions is really good and will lead for sure to better design. I liked the way the Java language designers used the new concept of Default methods to introduce certain methods to existing interfaces. It will be interesting to see how we will use Default methods in the future.

Streams

The second theme of the book handles Streams which looks really good as well. Streams will allow us to handle information as we are used with information in relational databases (hopefully we don’t forget to keep doing that instead of using the streams api…). A lot of iterators and logic to handle the data can be reduced to a much less and more efficient code.

Streams, lambdas and the improvements of Future and other asynch features will allow us to better deal with multi-core processors now and in the future without using threads, synchronisation and other not-so-recommended way of programming multi-core applications.