Most Read Latest News Blog Resources

Does .NET With LINQ Beat Java?


Framework's data query capabilities give it an edge, experts claim.



January 29, 2008 — 
There is a question some developers are asking: Has LINQ given Microsoft’s latest .NET Framework an edge over Java? Industry experts say “yes,” but with some caveats.

Microsoft shipped Language Integrated Query as part of the .NET Framework 3.5 in November. LINQ was originally one of many research projects that the company has under way. LINQ integrates query concepts directly into .NET programming languages using a syntax that is similar to SQL, to simplify the querying of data, objects and XML.

Patrick Hynds, president of security consultancy CriticalSites, said that LINQ is “an object-oriented revolution for data,” because it, like object-oriented programming, allows programmers to write code that is more like the way people think.

Before LINQ, he explained, developers had to adapt to a particular programming language’s precepts of the way data was organized and accessed. “One of the key things that I found about Java is that it has been very comfortable to make the developer conform to what ‘they’ [Sun and The Java Community Process executive committee] thought that the developer should use,” Hynds noted, adding that Microsoft’s LINQ implementation deals with data in a more “conversant” way.

Hynds is a regional director of the Developer Platform evangelism group, volunteers recognized by Microsoft for technical expertise.

Other Options
RedMonk analyst Stephen O'Grady noted that while there may not currently be equivalent functionality within the Java platform, there are options for Java persistence that offer “LINQ-like functionality,” naming db4objects as an example.

Db4objects is an open-source object database for Java and .NET developers, which uses a technology called Native Query that can optimize native language constructs into queries, without relying on a particular language’s syntactical extensions.

Jonathan Bruce, program manager for .NET technology group at DataDirect Technologies, and formerly JDBC specification lead and architect for the Java platform at Sun, said that developers are “clearly excited” about what Microsoft has come up with, but cautioned that it is not as original as they make it out to be.

LINQ, Bruce said, is “elegantly packaged and tightly coupled with C#” and Visual Basic, but called the notion of tightly coupling queries to languages nothing new, citing embedded SQL as an example.

“What’s different is that they are neutralized the coupling between the query and data model, using the same query constructs against multiple data models,” he added. “It is a graceful part of the day-to-day programming language and easy to use with day-to-day programming models.”

Another advantage, he said, is that LINQ “takes the pain” out of allowing query-based programming, and that instead of relying on databases, it is done programmatically. “It is a big change for a lot of people,” he conceded.

Enter the Caveats
DataDirect’s Bruce acknowledged that from a productivity point of view, LINQ combined with its tooling gives .NET shops a productivity advantage that the Java community cannot match. He credits Microsoft’s ability to “package [productivity patterns and tooling] all up into something useful."

That said, he noted that LINQ is an unproven technology that is new to the market and said that he could not imagine anyone making corporate bets on LINQ just yet. “On the Java side, data access is rounded and stable. As a technology officer, it is an easier bet to make [on] what will reduce risks from a data perspective,” he explained.

Likewise, he noted that LINQ is highly static in nature, and that embedding queries within an application presents challenges to programming patterns. He explained that LINQ queries are tightly coupled to the source code and that LINQ makes it difficult to build dynamic queries.

“There is a ways to go before LINQ has broad acceptance across the data access market,” he said, adding that constructing more queries in a more dynamic manner is the “next horizon” for LINQ.

Bruce said that Java is making strides to answer LINQ’s progress by implementing scriptable languages such as Groovy and JRuby, making the platform more versatile by consuming functional languages that are written as scripts. He also cited the IBM JLINQ application framework as a worthwhile but “poorly marketed” attempt to answer the call of LINQ.

Another example is XQuery, a language designed to query XML data. XQuery, he said, does a better job with data from many venues because of XML’s flexibility. By contrast, he claimed, the current implementation of LINQ is very targeted to what the developer is querying and the ability to “mash up data sources” has not been delivered yet, Bruce explained.

He believes that a LINQ implementation combined with XQuery would enable Java to “reposition [itself] strongly against what Microsoft has done.” However, he added that the Java standards process could delay any Java-based alternative because Java platform technologies are only adopted if they become a formal part of it, or if the community reaches a tipping point, citing Hibernate as an example.

“If anyone ever comes up with a LINQ implementation even close to Microsoft’s,” he concluded, “it will never be integrated into the platform as well as Microsoft LINQ,” adding, “it will always be an uphill battle to make an apples-to-apples comparison.”


Share this link: http://www.sdtimes.com/link/31643
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG