3 ms·
It's been a long time since I've interacted with a software architect. As poor as wikipedia is a source for a layman like myself, I still use it as a first step
by eliasmacpherson 3y ago
It's been a long time since I've interacted with a software architect. As poor as wikipedia is a source for a layman like myself, I still use it as a first step to explore topics I am not familiar with.
Would software architects be aware of all the various paradigms applicable within a particular language? Much like me trying to pick the right tool to complete a particular project...
https://en.wikipedia.org/wiki/Programming_paradigm https://en.wikipedia.org/wiki/Programming_paradigm
is there a good reason why Domain-Driven Design is not linked in the article above, or just an oversight?
https://en.wikipedia.org/wiki/Domain-driven_design https://en.wikipedia.org/wiki/Domain-driven_design
- layer8 3y agoDDD is not a programming paradigm, it’s a software design approach. You can combine DDD with various programming paradigms such as OOP and FP.
- dragonwriter 3y agosoftware design approaches are frequently closely tied to programming paradigms, and DDD (while, like Object Oriented Analysis and Design, it can be used with any paradigm) is closely associated with OOP, and at least the early writing on it (if there is any newer that this isn't true of, I haven't seen it) is very tightly coupled with OOP.
- layer8 3y agoThat is true to a certain extent, but that doesn’t make it a programming paradigm.
- dragonwriter 3y agoYes, it was a related observation, not a refutation.
- eliasmacpherson 3y agoThanks for the clarification. So just to spell it out: Domain-driven design (nor Data-driven development per the article title, nor Data-driven design) aren't programming paradigms, they are software design approaches. Whereas Data-driven programming, as linked from the above wikipedia is infact a paradigm and something else entirely. Alright. They have 'Data-oriented' listed in the wikipedia paradigm article, but it links to 'Data-oriented design' which is clarified as a software design paradigm, as distinct from a programming paradigm.