Logo Voxxed Days

Data-Oriented Programming in Java (20)

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.

Nicolai Parlog

Abstract

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).

Stay up to date

* indicates required

We use Mailchimp as our marketing platform. By clicking above to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.

You can change your mind at any time by clicking the unsubscribe link in the footer of any email you receive from us, or by contacting us at [email protected]