click here if you're having trouble viewing this email







Queue E-Mail Newsletter

for the Week of Jul 23, 2008


Sponsored by
ACM
STPCon Fall 2008



Latest Articles:

A Conversation with Erik Meijer and José Blakeley
The Microsoft perspective on ORM
(scroll down to read an excerpt from this article)

The Virtue of Paranoia
Between a rock and a hard place


Join ACM

A Special Offer to Join ACM for Queue Readers http://www.acm.org/joinacm2


Latest Queuecasts:
A Conversation with Jason Hoffman, pt. 2
Queue's January/February 2008 issue features a conversation with Jason Hoffman, CTO of Joyent, a provider of scalable infrastructure for Web applications. Interviewed by Sun's Bryan Cantrill (of DTrace fame), Hoffman discusses a range of topics, from providing scalable infrastructure for Facebook apps, to virtualization, to Ruby on Rails.

A Conversation with Jason Hoffman, pt. 1
Queue's January/February 2008 issue features a conversation with Jason Hoffman, CTO of Joyent, a provider of scalable infrastructure for Web applications. Interviewed by Sun's Bryan Cantrill (of DTrace fame), Hoffman discusses a range of topics, from providing scalable infrastructure for Facebook apps, to virtualization, to Ruby on Rails.

The Ever Expanding Ecosystem for Embedded Computing
Mike Vizard from ACM Queue talks with Oracle's Mike Olson about the changing architecture of network-enabled applications. Olson explains the thinking behind the company's new focus on embedded database and middleware technology. He explores the technical, business and economic forces shaping this fast-growing market. Tune in to learn how Oracle plans to serve customers way outside the enterprise.



Register Now for STPCon Fall 2008!

STPCon will offer over 70 technical classes and tutorials focused on training you with the newest techniques, tips and tricks of software testing, quality assurance and maximizing software performance. The event will be held September 24-26 at the Boston Marriott Copley in Boston, MA. Register today at http://stpcon.com/


New article on ACM Queue:

A Conversation with Erik Meijer and José Blakeley



The Microsoft perspective on ORM

From the Object-Relational Mappers issue, vol. 6, no. 3 - May/June 2008
article excerpt:

In any discussion about ORM (object-relational mapping), Microsoft's approach is inevitably a part of the conversation. With LINQ (language-integrated query) and the Entity Framework, Microsoft divided its traditional ORM technology into two parts: one part that handles querying (LINQ) and one part that handles mapping (Entity Framework). To understand more about these technologies and why Microsoft took this approach, we invited two Microsoft engineers closely involved with their development, Erik Meijer and JosÉ Blakeley, to speak with Queue editorial board member Terry Coatta.

Meijer is an accomplished programming-language designer who has worked on a wide range of languages, such as Haskell, Mondrian, X#, C-Omega, C#, and Visual Basic (his personal favorite). He runs the Data Programmability Languages Team at Microsoft, where his primary focus has been on removing the impedance mismatch between databases and programming languages. One of the fruits of these efforts is LINQ, which not only adds a native querying syntax to .NET languages such as C# and Visual Basic, but also allows developers to query data sources other than tables, such as objects or XML. Some readers might recognize him from his brief stint as the "Head in the Box" on Microsoft's VBTV.

Blakeley is lead architect in the SQL server engine working on server-side programmability, scale-out query processing, and object-relational technologies. He joined Microsoft in 1994 and since then has been an architect of several of Microsoft's data-access technologies. Like Meijer, Blakeley's main focus is on the impedance-mismatch problem. He served as the lead architect for the ADO .NET Entity Framework, which works with LINQ to raise the level of abstraction and simplify data programming. Before joining Microsoft, Blakeley was a member of the technical staff at Texas Instruments, where he developed the Open OODB (object-oriented database) management system for DARPA.

TERRY COATTA I think that a number of our Queue readers really don't understand how LINQ differs from what developers have been doing up until now. A lot of people are embedding SQL queries directly into their application code. Can you tell us what's different about LINQ and why developers should care about it?

ERIK MEIJER While, superficially, LINQ might look like you're embedding SQL queries in your code, actually it's radically different. What LINQ really does is allow you to query arbitrary collections, which could be tables, objects, in-memory objects, or XML.

The secret sauce behind LINQ is what we call the standard query operators. If you have a data source on which you can define these standard query operators, then you can query it using LINQ. Think about it like this: you have SQL, which is based on relational algebra. Now imagine that we abstract from the relational part and have a query algebra that is represented by these standard query operators.

So, now the languages have this query syntax that they translate into calls to these query operators, but each data source can give a different implementation of these operators, allowing you to query over a wide range of data sources. One example is querying over tables, but it's very different from using SQL.

The other problem with embedding SQL inside the language is that it's not really well integrated, so SQL is embedded but it has a different syntax and type system. You'll have variables in your program you want to use inside the embedded SQL, and maybe the other way around, because you'll want to use the results that you get back from the query in your program. There's usually quite a nasty boundary between the two worlds, but with LINQ it's completely integrated into the language, so the type system—everything—is that of the host language. It's a seamless experience.

Those are the two big differences. The fact that it's integrated in the language means that you get IntelliSense, compile-time type checking—all those things that are much harder when you are embedding SQL inside the language.



Read the rest at acmqueue.com


See all the latest articles and audio interviews with Queue's RSS Feeds


To unsubscribe to this newsletter, send an email to
queuenews-request@acmqueue.com
with the words 'unsubscribe' in the subject line.

Change your email address

Subscribe to Queue in print

About Queue

Contact Us

Privacy policy


For advertising information, contact advertising@acmqueue.com



© 2008 ACM, Inc. All rights reserved.