Fragmented - AI Developer Podcast · Kaushik Gopal, Iury Souza

255 - Data Oriented Programming

February 18, 2025·32 min·3 clips
Kaushik starts with a brief announcement about Fragmented's new email newsletter. He invites feedback, then moves on to the main topic. The episode centers on programming paradigms, with data-oriented programming as the key idea. He treats paradigms as different answers to the same problem: managing complexity. Object-oriented programming is used as a familiar baseline, and functional programming is mentioned as another well-known way of thinking. DOP comes in as a newer lens that feels practical and energizing, and Kaushik says it recently brought back some of his excitement as a software developer. He then explains that complexity comes in different forms, so no single paradigm handles every situation equally well. The episode uses a simple API shape to make that point concrete. A response can be modeled as success, failure, timeout, or interruption. That turns vague handling into explicit data. Kaushik argues that this makes the code easier to follow at a glance and makes the allowed outcomes visible up front. Because the possibilities are modeled in a sealed class or sealed interface, the program has to deal with them directly. He presents that as the core strength of DOP. The listener is encouraged to think about API design with more intention from the start. The episode also notes that other topics like pattern matching and stream-processing tools came up during research, but they sit apart from DOP itself. He ends by saying the research left him feeling newly equipped. The closing tone is practical and appreciative rather than grand. The overall shape is a guided case for making state explicit in code.

As heard by us

A clear case for modeling software around explicit outcomes, with a brief detour into neighboring tools.

The episode treats data-oriented programming as a way to make complexity manageable by spelling out the outcomes a system can take. The API example is the strongest part: success, failure, timeout, and interrupted are all given a place in a sealed class, so the control flow is…

Read the full review in PlayNext →

Why you'd press play

You want a cleaner way to model success, failure, timeout, and interruption in an API.

Read the full recommendation in PlayNext →
Listen to the show on