<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw" -->

---
title: OOP vs. Data-Oriented Programming: Which One to Choose?
description: We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code....
canonical: https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: OOP vs. Data-Oriented Programming: Which One to Choose? | daily.dev
og:description: We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code....
og:url: https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw
og:image: https://api.daily.dev/og/posts/UIXqJyerW.png
og:image:alt: OOP vs. Data-Oriented Programming: Which One to Choose?
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# OOP vs. Data-Oriented Programming: Which One to Choose?

**[Java \(Official Oracle\)](https://daily.dev/sources/java-oracle)** · 0 upvotes · 0 comments

## Summary

We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code. However, like any tool and technique, there are times when that may not be the right choice. Java now provides an alternative that is useful in those select situations—the data-oriented programming. In this presentation we will start with an example where the highly useful object hierarchy and polymorphism appear as a misfit and discuss how data-oriented programming solves the problem more elegantly. Get a good understanding of when to use each one of these and how to intermix them in your applications.

Presented by Venkat Subramaniam (Agile Developer, Inc.) at JavaOne 2026 (CA, March 2026).

All https://www.youtube.com/playlist?list=PLX8CzqL3ArzUMVSzm-z_-if8BIB55EGl4 talks.

Tags: #Java #OOP #DOP #JavaOne

LRN1460 18 AUDI

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=EMdxiVYyMtU>

---

Tags: [#java](https://daily.dev/tags/java), [#jvm](https://daily.dev/tags/jvm), [#jdk](https://daily.dev/tags/jdk)

[View this post on daily.dev](https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"OOP vs. Data-Oriented Programming: Which One to Choose?","url":"https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw"},"datePublished":"2026-10-04T09:42:57.126Z","dateModified":"2026-10-04T09:43:01.988Z","description":"We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code....","image":"https://i.ytimg.com/vi/EMdxiVYyMtU/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/EMdxiVYyMtU/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Java (Official Oracle)","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Java (Official Oracle)","logo":"https://media.daily.dev/image/upload/s--SM9hIYUY--/f_auto,q_auto/v1773648791/logos/java-oracle?_a=BAMAMiiu0","url":"https://daily.dev/sources/java-oracle"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/oop-vs-data-oriented-programming-which-one-to-choose--uixqjyerw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"java,jvm,jdk","video":{"@type":"VideoObject","name":"OOP vs. Data-Oriented Programming: Which One to Choose?","description":"We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code....","thumbnailUrl":"https://i.ytimg.com/vi/EMdxiVYyMtU/sddefault.jpg","uploadDate":"2026-10-04T09:42:57.126Z","url":"https://api.daily.dev/r/UIXqJyerW","embedUrl":"https://www.youtube.com/embed/EMdxiVYyMtU"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Java (Official Oracle)","item":"https://daily.dev/sources/java-oracle"},{"@type":"ListItem","position":3,"name":"OOP vs. Data-Oriented Programming: Which One to Choose?"}]}
```

