They're using objects, including arrays [1], so I think they would have been more precise to say that they're using objects and arrays as simple data structures rather than using OO features like inheritance and mutation.
What they mean is functions and data are separate, emulating a more functional paradigm and less mutable state.
The functions are kept pure and the data is kept pure.
As opposed to an object oriented programming style in which data and functions share the same object and create bug ridden state machines thats not as easy to reason about.
recursive|1 year ago
metaxy2|1 year ago
[1] https://github.com/tonaljs/tonal/blob/main/packages/chord/in...
hasty_pudding|1 year ago
The functions are kept pure and the data is kept pure.
As opposed to an object oriented programming style in which data and functions share the same object and create bug ridden state machines thats not as easy to reason about.
Some further explanation about this:
https://www.goodreads.com/quotes/702062-immutable-objects-ar...
a semi-nuanced discussion:
https://www.reddit.com/r/scala/comments/ejwsp1/is_mutability...
you can just Google mutable state to find more info.
separating your data structures and functions in many cases will make your code cleaner and more bug free.
hasty_pudding|1 year ago
I guess maybe low level c and assembly where you implement everything as bits in physical memory?