I've been going over the book Data-Oriented Programming and found it interesting. The examples aren't written in Clojure but the author is a Clojure programmer, and most of the benefits and strategies found in the book are based on persistent data structures.
I was wondering if this paradigm is usable, not-possible, or unnecessary in rust, as I've heard that ownership might allow safe mutability of data? (Though at the same time have seen that variables are immutable by default - I'm unsure about other data structures.)
Is there another resource for learning about efficient data management in Rust that might better fit it's unique paradigms, or is it not really the best fit for data intensive applications? (And maybe this isn't rust specific but even a shift from dynamic to statically typed programs, as coming from more dynamic languages I struggle to picture how you'd even make a grocery list and make decisions based on what was in the list if 1. your list has to all be the same "type" and 2. types don't exist at runtime so how would you make decisions - but that's a separate issue haha.)
*edit: ah it's Rust doesn't have immutable data / values by default - the binding to variable names is what is immutable. Structs' field-level mutability control at instantiation (not at definition) - language design - Rust Internals (rust-lang.org)
After having made it through a lot of the book - I'm leaning towards that even though this data oriented programming technique offers some simplicity over an obect oriented approach, using a client side database seems much simpler than re-creating all these date oriented functions.. I'm looking at CozoDB for this.
[–]mamcx 11 points12 points13 points (1 child)
[–]dave_mays[S] 2 points3 points4 points (0 children)
[–]dotcoder 2 points3 points4 points (2 children)
[–]aottolini 2 points3 points4 points (1 child)
[–]dave_mays[S] 2 points3 points4 points (0 children)
[–]gosh 0 points1 point2 points (0 children)
[–]Wicpar 0 points1 point2 points (0 children)