Algebraic Data Types + Pattern Matching = Elegant and readable Java code
Conference (INTERMEDIATE level)
Room 3

A talk that starts with a problem and ends up with an elegant implementation using Java's records, sealed types and pattern matching. It's all live coding!
Project Amber is bringing lot of exciting features to Java. Records, sealed types and many pattern matching features are few important ones. Sealed types and records are the mechanisms to create sum- and product-types respectively. These are two important forms of ADT (Algebraic Data Types). Using ADT along with pattern-matching, we can create APIs that are hard to misuse and create programs that are easier to read.
All in all, in the talk we start with a problem statement and a list of requirements and then we create an implementation step-by-step by introducing requirements one by one. While we do that we make use of records, sealed types and pattern matching in Java to create elegant solution with highly readable code.
Balkrishna Rawool
ING Bank
Balkrishna is currently working at ING Bank as an IT Chapter Lead and he has been in the software industry for 18 years. He enjoys crafting elegant solutions while solving complex challenges. Although he has been working with Java for many years, he finds latest developments in Java quite exciting. He has passion for continuous learning and genuine desire to sharing knowledge. He is currently leading a team that is building a Credit Decisioning Engine for business-customers. Previously, he has served many clients in financial services sector while working at a technology consulting company. In his free time, he enjoys playing chess. The analytical thinking and foresight used in chess is something he finds useful in software development.