On Wednesday, October 30, 2013 8:04:25 PM UTC-7, ArturoH wrote: > > On Wednesday, October 30, 2013 12:01:02 PM UTC-5, Brian Craft wrote > >> On Wednesday, October 30, 2013 7:56:46 AM UTC-7, ArturoH wrote: >>> >>> I think the shortcoming of ORM tools is that they bring a higher level >>> technology like SQL and lower it down to the low level of imperative >>> languages. >>> >> >> Can you give an example? >> > > In SQL you can nest statements use views, outer joins. Some new features > include window functions. In a single SQL statement you can get a lot of > functionality that would take many more lines of code in an imperative > language. Plus the database has statistics on data distribution that is > used to order the file access. Once your data makes it to the imperative > language. The order of execution of for example, looping constructs, is > hard-coded. And I could go on. I have to say ORM writers have done wonders > with imperative languages. They are perfectly usable and in production in > many places. I just want something even better. >
My experience with ORMs is that they make these things more declarative, not more imperative. For example, sql requires a lot of low-level information in how to perform a query: which tables to join, which fields to join on, what order to join, whether to do a join or a subselect, etc., etc., etc. The ORMs instead present a more declarative API, like user.address.city, abstracting all the low-level details of following relations. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.