The Java 8 and lambda expressions have been a productivity boost for Java developers. Since a little over a year ago, I've applied Java 8 Idioms to Existing Code and I'm writing new code with Java 8 and Functional Programming in mind.
At this time, I have faced any number of challenges that I want to share with you:
1. Debugging Lambdas and Streams:
Streams provide a high level abstraction. This is good for making code clear and easy to understand, but it is bad for debugging.
2. Exceptions Handling:
There is one drawback with Java 8 lambda syntax, functional interfaces and Exceptions Handling.
None of them as currently defined in Java 8 declare any checked exceptions.
This leaves the developer at odds on how best to handle checked exceptions.
3. Parallelism:
If Parallelization was the main driving force behind lambdas, stream API and others, why this topic is not widely explained?.
Topics like debugging lambda and exception handling have been covered in many blog posts, video and tutorials. But miss information about parallelism, few writers in the Java Community are writing about parallelism in Java 8.
How was your learning path to Java 8?. Most top challenges?.
Best regards