Michael HönnigMichael Hönnig
Having mostly used Java 7 in the last years and after some month of coding only with TypeScript, JavaScript and Solidity, I've now worked through the video course „Become at ease with Java 8“ by Stijn De Mulder. My motivation was to give me a refresh on Java 8 features, which I only knew from magazine articles and "playing around".

What's in and what's not in the course?

The course focuses on these major languages extensions which came with Java 8:
  • static and default methods on interfaces as well as rules for multiple inheritance
  • lambdas, method references and the Function interface
  • Optional with its methods like get(), orElse...(), map() and flatMap()
  • streams including its methods like map(), flatMap(), reduce(), collect()
  • the new
It does not cover extended type annotations, improved type inference, method parameter reflection, new security features of the JVM, JavaFX and may more changes in the APIs and toolset. For a complete list see What's New in JDK 8.

What was good and what could be improved?

The course is generally well done and explains all covered topics in a decent speed. I especially liked the format of the video course: Each chapter starts with an introduction followed by easy to follow explanations of the new features, with diagrams and code examples and ends with a prepared set of JUnit tests which demonstrated the new Java features with real code. This gave me the chance to watch the most part of the course on the train (with about 1.5x playback speed). Afterwards I took about another 2 hours at my desk to make all the unit tests green, mostly by myself, with some sneaking into the video material again. Unfortunately Stijn tripped over his tongue a few times and at least some of these glitches I would have cut out or recorded the scene again. Also some of the code from the git repository did not match the video anymore and some tests even got wrong. But that's about all criticism I can come up with. So, I rate this course with 4.5 of 5 stars.

What I've learned from it?

Most of the new Java 8 features, like the static and default methods for interfaces as well as Optional look pretty easy and straight forward for me. Having used the Joda date time library for over 10 years, there was not much new here except the with...() methods and TemporalAdjusters. And most of the lambda an streaming features, I already knew from JavaScript, where I loved to make use of this programming style. Thus, in total, I've mostly learned that I am ready for a Java 8 project, but that's fine!