Simplifying Java System Complexity through Data-Oriented Programming

Explore how adopting data-oriented programming in Java can reduce system complexity by separating data from behavior, moving beyond traditional object-oriented encapsulation to create more maintainable and efficient systems.

Simplifying Java System Complexity through Data-Oriented Programming
SouJava
1.5K views β€’ Apr 6, 2021
Simplifying Java System Complexity through Data-Oriented Programming

About this video

Traditionally in Java, we mix data and code in objects. While being beneficial in some cases, data encapsulation has a tendency towards systems with complex class hierarchies. Moreover, we introduce complex synchronization mechanisms to protect the state of our objects from being mutated or corrupted by other threads, making our code harder to maintain. Over the years many design patterns have been invented to work around this complexity.

Data-Oriented programming is a programming paradigm that inherently reduces system complexity by drawing a clear separation between code and data, and representing data with generic immutable data structures.

In this talk, we illustrate with practical examples how to apply Data-Oriented programming principles in Java, using smart Java annotations and latest Java features. We show how the application of Data-Oriented programming principles in a Java production system tends to reduce system complexity and make the system easier to maintain.

Bio
Yehonathan Sharvit has been working as a software engineer since 2000, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript. He currently works as a software architect at Cycognito, building software infrastructures for high scale data pipelines. He shares insights about software at his tech blog, he writes technical books, he speaks at conferences and leads Clojure workshops around the world. He is the author of Data-Oriented programming, published by Manning.

Video Information

Views

1.5K

Likes

56

Duration

34:46

Published

Apr 6, 2021

User Reviews

4.5
(1)
Rate:

Related Trending Topics

LIVE TRENDS

Related trending topics. Click any trend to explore more videos.