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!
- 878,382 hits
- Super excited to announce #jOOQ 3.5.0 with tons of new features! groups.google.com/forum/#!topic/… #DataTypes #StoredProcedures #Informix #DDL #UNION 21 hours ago
- Within 2015, #jOOQ will be more popular than #EclipseLink: buff.ly/1xVgPfU. Next goal: Become more popular than #Hibernate 22 hours ago
Get Back in Control of Your SQL
Top Posts & Pages
- Add Some Entropy to Your JVM
- SQL Trick: row_number() is to SELECT what dense_rank() is to SELECT DISTINCT
- Use MySQL's Strict Mode on all new Projects!
- 10 Subtle Best Practices when Coding Java
- 10 Common Mistakes Java Developers Make when Writing SQL
- Java Auto-Unboxing Gotcha. Beware!
- 10 More Common Mistakes Java Developers Make when Writing SQL
- 10 Things You Didn't Know About Java
- The 10 Most Popular DB Engines (SQL and NoSQL)
- Throw checked exceptions like runtime exceptions in Java
- Use MySQL’s Strict Mode on all new Projects! November 20, 2014
- jOOQ Tip of the Day: Discover all Primary Keys November 14, 2014
- Don’t Migrate to MariaDB just yet. MySQL is Back! November 12, 2014
- Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT? November 11, 2014
- Don’t Miss out on Awesome SQL Power with FIRST_VALUE(), LAST_VALUE(), LEAD(), and LAG() November 7, 2014
- Painless Access from Java to PL/SQL Procedures with jOOQ November 4, 2014
- 10 Things You Didn’t Know About Java November 3, 2014
- A RESTful JDBC HTTP Server built on top of jOOQ October 31, 2014
- Let’s Stream a Map in Java 8 with jOOλ October 23, 2014
- Stop Claiming that you’re Using a Schemaless Database October 20, 2014