4 ms·
"Data structures, not algorithms, are central to programming. Can we unify this to simply "data structures are essential to algorithms". It's really weird to p
by slver 6y ago
"Data structures, not algorithms, are central to programming.
Can we unify this to simply "data structures are essential to algorithms". It's really weird to put these in opposition, when algorithm with no data and data without algorithm make no sense.
Data structures are encoded with use cases in mind, those use cases at least at the very low level are their algorithms.
- Twisol 6y agoI think programming is more than just algorithms. System design and architecture have a real impact on the longevity and maintainability of your system, and I'd argue that data models (not structures per se, the distinction being logical vs. physical) are foundational to a good design. In contrast, algorithms play a much more focused role. Put differently: > Data structures are encoded with use cases in mind, those use cases at least at the very low level are their algorithms. As you've lampshaded, it's the use cases that are most fundamental. The data model should be designed to serve those use cases. The data structures and algorithms reflect the physical reality of the logical data model.
- goto11 6y agoIn the context of persistent databases, the schema is more important than the algorithms. You can change the algorithms on the fly, but the schema is fundamental. The strength of the relational model is it is separated from any specific algorithm.
- slver 6y agoThere are underlying algorithms and data structures in databases (b-tree, indexing, WAL etc.) and then there are application level data structures and algorithms, like the schema and how you use it in your app. So if we see data and algorithms disconnected, we're just thinking about different architectural layers.