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

schedule Submitted 2 weeks ago

Public Feedback

comment Suggest improvements to the Speaker