When will we have LINQ in Java?
LINQ is one of Microsoft’s .NET Framework’s most distinct language features. When it was first introduced to languages such as C#, it required heavy changes to the language specification. Yet, this addition was extremely powerful and probably unequalled by other languages / platforms, such as Java, Scala, etc. Granted, Scala has integrated XML in a similar fashion into its language from the beginning, but that is hardly the same accomplishment. Nowadays, Typesafe developers are developing SLICK - Scala Language Integrated Connection Kit, which has similar ambitions, although the effort spent on it is hardly comparable: one “official” Scala developer against a big Microsoft team. Let alone the potential of getting into patent wars with Microsoft, should SLICK ever become popular.
What does Java have to offer?
There are many attempts of bringing LINQ-like API’s to the Java world, as the following Stack Overflow question shows:
Here’s another newcomer project by Julian Hyde, that I’ve recently discovered:
He tried his luck on the lambda-dev mailing list, without any response so far. We’re all eagerly awaiting Java 8 and project lambda with its lambda expressions and extension methods. But when will we be able to catch up with Microsoft’s LINQ? After all, jOOQ, linq4j are “internal domain specific languages”, which are all limited by the expressivity of their host language (see my previous blog post about building domain specific languages in Java).
Java 9 maybe? We can only hope!
- 239,816 hits
- RT @svenpet: 11 Steps To Become a Better Coder http://t.co/P6O4whuFqn 4 hours ago
- You're a developer or architect? Convinced that jOOQ is the right thing? Use our "Convince your manager" presentation jooq.org/why-jOOQ.pdf 17 hours ago
Get Back in Control of Your SQL
Top Posts & Pages
- 10 Subtle Best Practices when Coding Java
- Using SQL Injection Vulnerabilities to Dump Your Database
- MIT Prof. Michael Stonebraker: "The Traditional RDBMS Wisdom is All Wrong"
- MongoDB "Lightning Fast Aggregation" Challenged with Oracle
- The 10 Most Popular DB Engines (SQL and NoSQL)
- 10 Common Mistakes Java Developers Make when Writing SQL
- SQL Trick: row_number() is to SELECT what dense_rank() is to SELECT DISTINCT
- Easy Mocking of Your Database
- Does Java 8 Still Need LINQ? Or is it Better than LINQ?
- Column Stores: Teaching an Old Elephant New Tricks
- MongoDB “Lightning Fast Aggregation” Challenged with Oracle December 19, 2013
- The Crystal Ball. Or, Oops, Michael Stonebraker did it Again December 18, 2013
- Add LATERAL Joins or CROSS APPLY to Your SQL Tool Chain December 18, 2013
- jOOQ, a Love Story December 17, 2013
- Counting Distinct Records in SQL December 17, 2013
- Auto-Creation of Indexes in RDBMS December 16, 2013
- SQL is the new NoNoSQL December 14, 2013
- Free Open Source with Commercial Support December 13, 2013
- jOOQ Newsletter December 13, 2013 December 13, 2013
- How to Integrate jOOQ with Hibernate December 9, 2013