4 ms·
I think it’s interfaces and protocols at a granular level. If every interface is bespoke while also being explicitly described top down, then we end up with th
by dgb23 5y ago
I think it’s interfaces and protocols at a granular level.
If every interface is bespoke while also being explicitly described top down, then we end up with this quadratic complexity.
Uniform, extensible interfaces and generic data structures are the solutions to this, as well as shifting complexity to data and away from code. Several modern languages, techniques and protocols address this in varying degrees and from different angles. An old language that does this very well is SQL.
- kaycebasques 5y ago> Several modern languages, techniques and protocols address this in varying degrees and from different angles. Examples? (Asking as a curious beginner who doesn't know where to start.)
- dgb23 5y agoGo‘s implicit interfaces, Rust‘s traits, Clojure‘s sequences, transducers, multimethods and spec, Julia‘s multiple dispatch, HTTP REST, JSON and json-schema. These are all attempts to enable generic, simple code over complex data structures, while respecting and incorporating extensibility and change. It’s an old idea but I think more importance is given to it in more recent years.