Speaker Details

Nicolai Parlog
Nicolai (aka nipafx) is a Java enthusiast focused on language features and core APIs with a passion for learning and sharing - in articles, newsletters, and books; in tweets, videos, and streams; in demo repos and at conferences - more on all of that on nipafx.dev. He's a Java Developer Advocate at Oracle and organizer of Accento. That aside, he's best known for his haircut.
Data-Oriented Programming in Java (21 and 22)
Conference (INTERMEDIATE level)
In data-oriented programming (DOP), we model data as data and polymorphic behavior with pattern matching. This talk will introduce the concept of DOP and its four principles:
  • model the data, the whole data, and nothing but the data
  • data is immutable
  • validate at the boundary
  • make illegal states unrepresentable
We'll also explore how to use pattern matching as a safe, powerful, and maintainable mechanism for ad-hoc polymorphism on such data that lets us define operations without overloading the types with functionality. The talk ends with a juxtaposition to OOP, so you not only learn how to employ DOP but also when (not).
OpenJDK is one of the world's most influential open source communities. It drives the reference implementation of Java SE and the Java Virtual Machine, a programming language and runtime environment used daily by millions of software developers. More than that, the community drives its innovation - 15 years and counting of new language features, core library additions, performance improvements, runtime enhancements, and new tooling.
But how does it all work? How does a community of Java enthusiasts, often financed by some of the biggest tech companies yet working with self-determination, turn ideas into designs into code into features you can use in your IDE? Well, let me explain (in this talk).
Blind Ignite Talk
Ignite (BEGINNER level)
The speaker has never seen the deck they are about to present, and is told the subject matter just before the clock starts ticking.
20 slides will auto-advance every 15 seconds.
What could possibly go wrong?