logoalt Hacker News

SatvikBeriyesterday at 9:55 PM1 replyview on HN

Not quite the same, but I find "data-oriented programming" to be a very strong method for managing large codebases. By that I mean having data structures that designate the end state that you want, having another set of code that gets you to those end states, and maintaining a pretty clear boundary between the two.

(If you like with "Functional Core, Imperative Shell", this is a way to further divide the Functional Core.)

It works well because it narrows the surface area of a lot of possible bugs: either your configuration is wrong, or your code doing the transformations is wrong.


Replies

Towaway69today at 5:19 AM

You kind of describe flow based programming (FBP) whereby data is passed to stateless functionality.

Things like Unix pipes, Node-Red and n8n are inspired by FBP.

I agree with what you describe, also reuse is simpler because code tends to be stateless.