For Java developers moving to Java 8, the whole transition from our existing way of thinking to a stream-based approach is the biggest challenge. You have to learn how to think in terms of transformations rather than loops, and filters instead of if statements, and so on. Throw in the move to using Optional whenever a result might be null, and getting to know the new functional interfaces in the java.util.function package, and in many ways it feels like a completely new language.
Of course, that's what virtually the entire book is about.
Wasn't that the whole idea of Java8? So many people were moving onto a declarative mode that Java® was looking very dated. Not only does Java8 save lots of boilerplate, but it also allows you to use a declarative idiom as Stephan says here.
I think another challenge is in academia: get people to teach Streams and λs to beginners rather than as advanced topics.
What do you have to say for yourself? Hmmm? Anything? And you call yourself a tiny ad.
Free, earth friendly heat - from the CodeRanch trailboss