In his book Data-Oriented Programming - Unlearning Objects, the author Sharvit gives some guidelines for programming, which at first glance seem to be already baked in the Julia language like the separation of functions and data.
[Later it dawns you that each programming language has its own mantra, often tied to a specialty in its implementation, like Clojure’s immutable data structures relying heavily on dedicated hashmaps.]
The book also recommends “generic data structures” to keep access simple and interfaces adaptable. In Julia this could be simple flat structs.
In numerical textbooks using Julia structs barely play a role, here on Discourse they show up often in abstract MWExamples.
So I would like to hear your experiences on:
- Where did you need more complex (types, nesting, etc) structs?
- Was there a trade-off, did you find a balance or remedy?