DEV Community 👩‍💻👨‍💻

Discussion on: A simple way to reduce complexity of Information Systems

saulburgos profile image
Saul Burgos Davila

Sound interesting... I will do a little research about this.

viebel profile image
Yehonathan Sharvit Author

Please share the results of your research, once you have them

mccheesy profile image
James McCleese

I did a little research as well, because I've felt some of the frustrations born of what you discussed above. I work in eCommerce and Business Systems specifically and the level of complexity in the business logic often causes junior and mid-level developers to struggle to deliver code because they can't model the logic conceptually in their mind when they are working. The idea of limiting the scope of what a developer has to think about when they are making modifications is an enticing one.

However, upon doing some research, I found the same as you mentioned in your Feb 2021 talk Data Oriented Programming in Practice: there is very little information available on data oriented programming (aside from your blog posts and your book). I suspect some of the issue may be due to a naming conflict. Data oriented design has long been a popular method of approaching OOP in systems where performance is key, especially memory-based performance. The most obvious sector here is video games' Entity Component System architecture pattern, which itself is a data-oriented approach to the composition pattern.

It's unfortunate that there isn't more information about DOP, especially in the form of practical examples and comparisons of similar problems solved with DOP vs OOP. I feel like that would get more developers on board rather than just conceptual essays or talks about how to think about data and functions in a DOP paradigm. If you have any suggestions for other resources, I'd love to hear them!