3 ms·
That is an angle. Other way to say it is that ORM is a workaround to the fact most languages are VERY poor at manipulate data. Exist 2 main reasons for the "i
by mamcx 8y ago
That is an angle.
Other way to say it is that ORM is a workaround to the fact most languages are VERY poor at manipulate data.
Exist 2 main reasons for the "impedance mismatch":
- Paradigms. 2 different paradigms will be at odds. Example: Functional and OO. This is ok.
- Limitations: The relational model is absolutely superior and more expressive at manipulate data than OO/Functional. You need A LOT of machinery to recover that power.
This is not ok.
However, this not change the fact that OO is ok.Similar how a KV store is fine, but certainly, a RDBMS store is much more capable.
- heavenlyblue 8y agoHow is relational more powerful than OO/Functional if you can’t define an infinite dataset with it?
- mamcx 8y agoYou can't? Most people only see the relational model as is inside a RDBMS. That is how judge the OO for what you can do on Mongo. RDBMS have some weird and well considered restrictions for their case. But read a little about the relational model, and none of it depend on SQL or say anything about how is the storage. P.D: Is important to note for where is MORE powerful. Remember that the creator of Pascal say: https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures... Algorithms + Data Structures = Programs You can say OO/Functional lean more to the "Algorithms" side but RM to the "Data Structures". OO/Functional not say much how operate on data, most is a exercise for the reader. Instead, RM give a clear answer and defined operations for that. You need to "spice up" things to make the one be more useful to the other part of the equation. RM, too pure, certainly is incredible limited, not even can print "hello world!", but that is just too give a solution about how transform data...
- notduncansmith 8y ago> Other way to say it is that ORM is a workaround to the fact most languages are VERY poor at manipulate data. This is why I love Clojure (and a particular style of Javascript). Destructuring and a good library of object/array manipulation functions make an environment well-suited to transforming data structures (which is precisely what I want to do in most programs I write), and I find I do not need an ORM where this type of data-focused programming is supported.