What's #DataOrientedProgramming? Why use it, what are its principles, and how does it compare to OOP? (Or is it just an excuse to use records, sealed types, and pattern matching?!) 8-min answer in the latest Newscast youtube.com/watch?v=5qYJYG…, 9-tweet answer right here. 🧵👇🏾
OOP is great for defining/defending boundaries in a complex, stateful system - good for libraries, frameworks, large apps. But in smaller services, internal boundaries are less important. On the other hand, surface area is larger (relatively), so more code handles in/out data.
Here, DOP comes in. It models data as data (with records and sealed types) and implements polymorphic behavior separate from it (with pattern matching). There are four principles (from @BrianGoetz' InfoQ article: infoq.com/articles/data-…) ...