logoalt Hacker News

danparsonsontoday at 3:05 AM1 replyview on HN

That just sounds like a tower of abstraction to me; the 'primitives' are whatever you're building the current layer on top of. The filesystem becomes the primitive when you want to fopen something. Perhaps I'm over simplifying? I still don't see a division into two classes of abstraction.


Replies

skydhashtoday at 3:18 AM

> That just sounds like a tower of abstraction to me;[...] I still don't see a division into two classes of abstraction.

It is a tower of abstraction as it's recursive. It's just that at every layer you will be dealing with two types, the primitive from the previous layer and the new system that you're building in this layer. Something like Character is a composition of symbols (bit) and encoding (ASCII, Unicode), in a specific form of Data.

DDD is kinda a meta on that where the emphasis is to simultaneously build a glossary (primitives) while also trying to define subdomains to restrict their semantic. But that's an approach for software architecture, not general system modeling.