Java Streams Preview vs .Net LINQ

I've started following this very promising blog by the "Geeks From Paradise". Apart from the fact that I'm a bit envious of geeks living in Costa Rica, this comparison of the upcoming Java 8 Streams API with various of .NET's LINQ API capabilities is a very interesting read. A preview of what you'll find there … Continue reading Java Streams Preview vs .Net LINQ

JDK 8: State of the Collections

Here's the latest publication by Brian Goetz, Oracle's project lead for JSR 335, a.k.a. Project Lambda. Here's a nice example showing new collection features, such as "Streams" using method references: List<String> strings = ... int sumOfLengths = strings.stream() .map(String::length) .reduce(0, Integer::plus); Another nice example showing the use of lambda expressions: int sum = shapes.stream() .filter(s … Continue reading JDK 8: State of the Collections

Syntax for calling “super” in Java 8 Defender methods

This is a very interesting discussion. How to reference default methods from implemented interfaces throughout the class / interface hierarchy? Situation: interface K { int m() default { return 88; } } interface J extends K { int m() default { return K.super.m(); } // ^^^^^^^^^^^^ How to express this? } Solution ideas: K.super.m() super.K.m() … Continue reading Syntax for calling “super” in Java 8 Defender methods

Survey about the Java 8 “default method” syntax

Influence the future of Java now! Participate in this official survey by Brian Goetz: https://www.surveymonkey.com/s/9VPJZQQ

Exciting ideas in Java 8: Streams

Brian Goetz's recent post on the State of the Lambda reveils exciting new ideas that are prone to be included in Java 8. One of them is the concept of "Streams" as opposed to "Collections". Using the new Java 8 extension methods, the Iterable interface can be extended compatibly with a lot of "lazy" and … Continue reading Exciting ideas in Java 8: Streams

Java 8 will have some support for unsigned integers

This seemed to be good news at first. An announcement by Oracle's Joe Darcy claiming that Java will finally have *some* support for unsigned integers: http://blogs.oracle.com/darcy/entry/unsigned_api This will only be added on an API level, though. Not on a language level including all the expected features: Primitive types Wrapper types Arithmetics Casting rules Boxing / … Continue reading Java 8 will have some support for unsigned integers

Java 8 virtual extension methods

I've been following the evolution of the Java 8 Lambda expressions project for a while now, and I'm really thrilled by its current state of progress. The latest "easy-to-understand" presentation I've found is this one: http://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf Now, as an API designer, I'm particularly interested in the concept of virtual extension methods and I was wondering … Continue reading Java 8 virtual extension methods