Streams vs Queues + Functional Influence on Java / How we code & think


Details
Location:
AWS, Level 13, Commercial Bay (PwC Tower).
Please bring some kind of identification (e.g. drivers license/passport) – this is an Amazon security requirement.
2 Topics:
1. Streams vs Queues
Streams (Kinesis, Kafka) battle it out with Queues (SQS, ActiveMQ). What are the design and failure considerations when choosing between them. We didn't get time to do this last meetup and there was good interest to cover this - Designing for failure etc.
2. Functional Programming influence on Java
I'm looking to talk about how FP has impacted Java language features and how that can impact how we write code and "How we think". This isn't going to be about a taking a "Pure FP" approach to Java but more how Java is evolving and how my thinking in particular is changing based on that - more evolution not revolution.
Background reading for keen folks:
In terms of Functional programming influence on Java and "How I think" there is some influence coming from Valhalla Value types. If you want to view a video or two on Valhalla there are a couple of recent videos you can check out.
Valhalla Value types Summary - a 10minute summary of Brian's 1hr video
https://www.youtube.com/watch?v=Lf2Vr7Zjmj8&t=3s
Valhalla - Where Are We? - 1hr update of Valhalla status from Brian Goetz from the recent JVM language summit
https://www.youtube.com/watch?v=IF9l8fYfSnI
Brian Goetz did a repeat of this at Devoxx:
https://www.youtube.com/watch?v=eL1yyTwu4hc
For catchup on some language features, I think these are good links:
Lambda & Method References:
https://belief-driven-design.com/functional-programming-with-java-method-references-c9103cdf5f8/
Streams API:
https://belief-driven-design.com/functional-programming-with-java-streams-190eda591a5/
Map / Filter / Reduce
https://belief-driven-design.com/functional-programm-with-java-map-filter-reduce-77e479bd73e/
Record pattern matching
https://belief-driven-design.com/looking-at-java-21-record-patterns-b5282/

Streams vs Queues + Functional Influence on Java / How we code & think