CHANNELS
 
 
 
 
 
 
 
 
ON THE WEB
 
 
 
 
PRINT EDITION
 
 
 
 
BZ MEDIA
 
 
 
 
ADVERTISER LINKS
 
 
 
 
 
LOADING...
LOADING...
 
 
AS OF 8/21/2008 6:34PM EST
Does .NET With LINQ Beat Java?
Framework's data query capabilities give it an edge, experts claim.
By David Worthington

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.”
 


 
 
 
 
 
 
 
 
 
 
SUBSCRIBE TODAY!
 E-Newsletters:
  News on Mon/Thurs.
  Test & QA Report
  EclipseSource
 
 
JOB BOARD
 
PDF & PRINT EDITION
* Requires Resource Account!  LOGIN or SIGN UP

Download Current Issue!
ISSUE 8/15/2008 PDF

Need Back Issues?
DOWNLOAD HERE

Receive The Print Edition?
SUBSCRIBE HERE
 
REGISTER
 
GET NOTIFIED!
About all of the latest Resources
 
 
SD TIMES 100
It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.