News for hackers. Stuff that matters.
Re:Why Domain Driven Design? by marcosdumay on Friday November 25, 2022 @08:40AM (#33742262)
Modules are recursive. Libraries are recursive. Hell, functions and classes are recursive too. I don't think we have any non-recursive code abstraction tool.

Some of the problem is that people need different capabilities from different abstraction layers. The rest of the problem is that there are a lot of incompetent people creating software.

Re:Why Domain Driven Design? by BulgarianIdiot on Friday November 25, 2022 @08:54AM (#33742376)
If you start listing what different capabilities you need on each layer, you'll notice it can all be done, as a very lean abstraction, in one layer. I'm working on creating a platform that's doing just that, BTW.

I'll cite Erlang as an example that comes somewhat close to what I mean. An Erlang process is a function, a class, a module, and a remote service, all at once. It can be done. We just never stopped to truly think about it and try.

Re:Why Domain Driven Design? by marcosdumay on Friday November 25, 2022 @09:35AM (#33742715)
> We just never stopped to truly think about it and try.

Oh, you are right about this. But a lot of people stopped to think about it. It always seemed to fail due to market failures, like most other innovations in development.

Re:Why Domain Driven Design? by BulgarianIdiot on Saturday November 26, 2022 @12:42AM (#33750308)
Yes, the network effects of pre-existing platforms are big. But we should keep trying I think. I think such a platform should also be inclusive enough hat it can act as a glue layer for and INSIDE existing platforms, but have richer semantics than say JSON, Protobuff or similar protocols offer.
Re:Why Domain Driven Design? by Garlef on Friday November 25, 2022 @09:57AM (#33742936)
> I don't think we have any non-recursive code abstraction tool.

Mircoservices, Projects in a monorepo, Infrastructure as code, ...

Sometimes they don't even have abstractions at all.

And there are whole companies being built to make these things even remotely managable.