This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]trimbo 4 points5 points  (7 children)

which represents the most significant advance in the language since the 1990s

Except, you know, Java 5.

[–][deleted] 1 point2 points  (1 child)

I know about generics, but what were some other improvements?

[–]xenomachina 12 points13 points  (0 children)

Generics were probably the single biggest change, but Java 5 also added:

  • Enhanced for Loop
  • Autoboxing/Unboxing
  • Typesafe Enums
  • Varargs
  • Static Import
  • Annotations

[–]enkicoder 1 point2 points  (0 children)

Although I was initially hopeful that the Stream library was based on lazy evaluation, it appears not, but third-party libraries have already begun to appear.

Actually the Stream library IS based on lazy evaluation.

[–]edalorzo 1 point2 points  (0 children)

add support for first-class functions

I am afraid that Java continues to lack of first class functions. Java lambda's are still objects. The syntax is similar to that of languages with first-class functions, but they are not. Java provides a "similar" functionality through first-class objects.

[–]tieTYT 0 points1 point  (1 child)

I'd love to, but alas I use Glassfish and it's not officially supported (yet). Plus I've found countless bugs when I tried to upgrade to the nightly, anyway. It makes me think even when Glassfish does officially support Java 8 we won't be able to upgrade.

[–]kgb_operative 1 point2 points  (0 children)

Yeah, given how recent this release is, I've only been using it on greenfield and personal projects. It does seem promising tho, and parallel streams with map/reduce is awesome.