3 ms·
What good software modeling techniques could one learn instead of OOP?
by hamilyon2 7y ago
What good software modeling techniques could one learn instead of OOP?
- pjmlp 7y agoLike Wirth puts it, algorithms + data structures. Programming paradigms are orthogonal to that.
- naikrovek 7y agoData Driven Development is the single most impactful way to write performant code, if I had to single out some single thing. CPUs work on data, not a developer's abstractions about the data. Everything from your structs and objects all the way up should be written with the data in mind. Think about what pieces of data are needed at the same time, or in sequence, and not what classes you need to perform a certain action. Structuring your data types to keep pieces of data that will be operated on together, or read together alone can dramatically improve performance. It's difficult for me to explain, and I'm confident once one sees examples that demonstrates the concept well, it will become clear pretty quickly.
- hamilyon2 7y agoI am quite sure that writing performant code for current architectures is great idea. I am sure one can learn that skill. My question is quite orthogonal to that. OOP lets you model your application in a way that somewhat natural. It's principles are well-researched. Resulting code is widely understood. It can be applied across many different domains. I know no competing way to model software that comes even close to that qualities. Maybe I am wrong and data driven approach provides all that.