No announcement yet.

JDK 8 Release Candidate Released!!

  • Filter
  • Time
  • Show
Clear All
new posts

  • JDK 8 Release Candidate Released!!

    This is a big update for Java

    - Native clean lambda expression syntax. Previously, Java devs could do lambda type programming with anonymous inner classes, but the syntax was bulky and awkward, and the VM implementation wasn't ideal. Now, it is much cleaner syntax, much more compact VM code, it should be faster at the VM level.
    - Functional Collections. Devs can easily filter/map/flatMap collections (or collection "streams"). This is catch up with other languages and mostly provides parity C# LINQ for example. Previously, there were add-on libraries that did this, but it's nice to have it in the standard library.
    - "Optional". It's not as good as Scala's Option or F#, but it's better than nothing.
    - Finally, new date/time library. This is the successor to the popular Joda date time library, written by the same author.
    - Tons of VM level improvements. Complete removal of Permgen which makes runtime configuration easier.
    - Lots of other core library improvements.
    - Default methods in interfaces.

    This is 100% Linux friendly. I do Java programming on my Linux laptop every day. The Java 8 builds have been very stable for general use.

    Still not as good as Scala. Scala still has

    - pattern matching. Scala's pattern matching is a killer feature. Native partial functions which works with pattern matching.
    - "for" comprehension designed for types with flatMap (aka Monad-like types)
    - hyper elegant syntax. var/val, no need for a separate "property" mechanism. singleton companion class rather than C++/Java/C# "static". Arrays use generics syntax. Fixes many Java problems with Generics.

    And Scala developers reap the VM improvements. I'm curious with how well Scala code interops with Java 8 lambas.