@Dick: I think you are right in regard to SQL/RDBMS, it's proving NOT
to scale with todays amount of data, fueling the NoSQL movement
(CouchDB, Cassandra, Redis, db4o...). The thing about LINQ though is
that it's a general purpose query API, for building up query
expressions and firing it off to some arbitrary execution engine. I
see this as a step up in abstraction, whereas before you had the
choice to plug in any JDBC compatible DBMS, you now have the choice to
plug in ANY data source - provided it has a LINQ provider [http://
blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-
linq-providers.aspx].

It's my understanding that since Scala has no support of expression
trees, it's impossible to achieve query composability without creating
a massive amount of temporary objects. I.e. the following LINQ
expressions executed against a LINQ-to-SQL provider won't actually do
anything until you start iterating over trulyIdiots:

var idiots = from m in Members
             where m.age < 30
             select m;

var trulyIdiots = from m in idiots
                  where m.postCount > 500
                  select m;

foreach(Member m in trulyIdiots)
{
    ...
}

The trulyIdiots expression builds upon the idiots expression tree and
in the end, only one SQL query is ever executed.

/Casper
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to