However, what does this mean for my existing codebase?
In this talk we show how you can refactor your traditional object-oriented Java to using FP features and APIs from Java 8 in a beneficial manner.
We will discuss:
How to adapt to requirement changes using first-class functions
How you can enhance code reusability using currying
How you can make your code more robust by favouring immutability over mutability
How you can design better APIs and reduce unintended null pointer exceptions using an optional data type"
YOU MAY ALSO LIKE:
- Continuous Profiling in Production: What, Why and How (SkillsCast recorded in April 2019)
- Extreme Java: Advanced Topics with Dr Heinz Kabutz (Online Course on 29th - 30th March 2021)
- Extreme Java: Concurrency Performance with Dr Heinz Kabutz (Online Course on 31st March - 2nd April 2021)
- F# eXchange 2021 (Online Conference on 20th - 21st October 2021)
- Prepare for What 'Looms' Ahead (Online Meetup on 25th February 2021)
- The Technology and Psychology of Refactoring (SkillsCast recorded in February 2021)
- Process Automation in Cloud-Native Architectures (SkillsCast recorded in December 2020)
Pragmatic Functional Refactoring with Java 8
Richard Warburton is an empirical technologist, solver of deep-dive technical problems and author of 'Java 8 Lambdas: Pragmatic Functional Programming'. He has worked as a developer in varied areas including Statistical Analytics, Static Analysis, Compilers and Networking. He is a leader in the London Java Community and runs OpenJDK Hackdays. Richard is also a known conference speaker, having talked at JavaOne, Devoxx, JFokus, DevoxxUK, Geecon, JAX London and Codemotion. Richard has obtained a PhD in Computer Science from The University of Warwick.
Raoul-Gabriel Urma is CEO and co-founder of Cambridge Spark, a leading learning community for data scientists and developers in the UK, as well as chairman and co-founder of Cambridge Coding Academy, a growing community of young coders and pre-university students. He is author of 'Java 8 in Action: Lambdas, Streams, and functional-style programming'.