
jss
What do you think about Data-Oriented Programming?
What do people think about Data-Oriented Programming, like this book tackles? https://www.manning.com/books/data-oriented-programming
How is it different from FP? Can you do DOP with Elixir?
Most Liked

kokolegorille
Isn’t it what FP does under the hood? Separate data from code?
I can see the difference with OOP, but less with FP.

davearonson
Haven’t read the book, but from the blurbs, the concept seems to be basically “screw all this extra over-engineered nonsense that the so-called ‘OO’ gurus have saddled us with, let’s just go back to good encapsulation with simpler mechanisms”… like I learned in school before OO was hot, before C++ was invented.

dimitarvp
I think this was always true but somewhere after the original geniuses of computer sciences all of us in the industry forgot about it.
Anything I do with programming, I always bump into data (de)serialization problems and all the issues from needing network to persist your state. In-process databases like sqlite3 / duckdb / sled partially solve those problems.
IMO one day we’ll just have the far successor of PostgreSQL which will allow you to script in all accepted programming languages. Which isn’t far from reality even now: PostgreSQL: Software Catalogue - Procedural languages
IMO the whole all area will be hugely simplified when we finally start to directly code against our DB with the programming language of our choice.
Popular General Dev topics










Other popular topics










Latest in Elixir
Latest in Dev Chat
Latest (all)
Categories:
Sub Categories:
- All
- In The News (10781)
- Dev Chat
- Questions (29)
- Resources (118)
- Blogs/Talks (26)
- Jobs (3)
- Events (14)
- Code Editors (58)
- Hardware (57)
- Reviews (3)
- Sales (15)
- Design & UX (4)
- Marketing & SEO (1)
- Industry & Culture (15)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (4)
- Content Creators (7)
- DevOps & Hosting (9)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /ash
- /centos
- /php
- /deepseek
- /zig
- /scala
- /html
- /debian
- /nixos
- /lisp
- /agda
- /react-native
- /textmate
- /sublime-text
- /kubuntu
- /arch-linux
- /ubuntu
- /revery
- /manjaro
- /django
- /spring
- /diversity
- /nodejs
- /lua
- /julia
- /c
- /slackware
- /neovim