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!
That was awesome, right? Share it with your friends!
- 1,173,598 hits
- RT @UWS_LTD: Got our second #Grails #plugin officially released, integrating #jOOQ library into any Grails development process: https://t.… 7 hours ago
- Time to learn some serious Oracle / SQL Server SQL: The PIVOT clause! "How to use SQL PIVOT to Compare Two Tables" buff.ly/1E2WJpo 8 hours ago
Get Back in Control of Your SQL
Top Posts & Pages
- 10 Common Mistakes Java Developers Make when Writing SQL
- SQL Trick: row_number() is to SELECT what dense_rank() is to SELECT DISTINCT
- 10 More Common Mistakes Java Developers Make when Writing SQL
- 10 Subtle Best Practices when Coding Java
- Java 8 Friday: 10 Subtle Mistakes When Using the Streams API
- The 10 Most Popular DB Engines (SQL and NoSQL)
- Java 8 Friday Goodies: Map Enhancements
- Does Java 8 Still Need LINQ? Or is it Better than LINQ?
- Do You Really Understand SQL's GROUP BY and HAVING clauses?
- A Lesser-Known Java 8 Feature: Generalized Target-Type Inference
- How to use SQL PIVOT to Compare Two Tables in Your Database February 26, 2015
- How to Extract a Date Part in SQL February 25, 2015
- jOOQ vs. Slick – Pros and Cons of Each Approach February 24, 2015
- Thou Shalt Not Name Thy Method “Equals” February 18, 2015
- jOOQ Tuesdays: Raoul-Gabriel Urma Explores What Java 8 and English have in Common February 17, 2015
- 10 SQL Articles Everyone Must Read February 13, 2015
- “NoSQL Injection” – What 40000 Unsecured MongoDB Databases Mean for our Industry February 12, 2015
- Top 10 Easy Performance Optimisations in Java February 5, 2015
- Still Using Windows 3.1? So why stick to SQL-92? February 3, 2015
- Top 5 Use-Cases For Nested Types February 2, 2015