Eclipse Collections, Java Streams & Vavr - What's in them for Functional Programming
Intuitive collections types can certainly help developers positively in terms of increased developer productivity and higher readability. As a developer on JVM you have plenty of options from the community. In this presentation, I compare three popular collections libraries - Eclipse Collections, Java Streams API, and Vavr. I present the code examples using all the three APIs. I firmly believe, there is no one library that is perfect for all situations. Hence we compare these libraries along the dimensions of mutability/ immutability, eager/lazy evaluation, richness of expression, error handling aspects. By the end of the presentation, we identify the strong areas for each of these APIs.
Outline/Structure of the Talk
-
A taste of Eclipse Collections and Vavr - 5 minutes
-
Mutability vs immutability aspects - 10 minutes
-
Eager vs lazy evaluation - 10 minutes
-
Error handling - 5 minutes
-
Inter-op with Java collections API - 5 minutes
-
Richness of API - 5 minutes
-
Q&A - 5 minutes
Learning Outcome
-
Understand the strengths (and weaknesses) of Eclipse Collections, Java Streams, and Vavr through examples.
-
Understand the trade offs with respect to laziness/eager, immutability, and richness of API so that you make better decision while selecting one for your next projects.
Target Audience
Java developers . Basic familiarity with streams API assumed.
Prerequisites for Attendees
Basic familiarity with streams API