I'm disappointed there is not a peep about JDK 8 in this forum. IMO, the main features are:
- Cleaner lambda expression syntax than the anonymous inner class route from Java 1.1 - Functional collections in the standard JDK as opposed to relying on somewhat obscure add-on libraries like FunctionalJava or Clojure. - Standard Optional type which actually includes map and flatMap unlike the philistines from Guava. OptionalInt doesn't include these for some odd reason. - Lots of VM improvements. No permgen! Some of my microbenchmarks saw 10% speedups on old code, which is completely unexpected. - New date/time library. Successor to Joda as a standard library. If you have to deal with calendar date/times and can afford JDK8+ runtime requirement, this is a super elegant library. Downsides: - Still way, way behind Scala. Scala is basically Java 8 + a ton of syntax clean up and fixing legacy problems inherited from its C origins + pattern matching system + for comprehensions designed for flatMap-able types (Monads) + better designed library. Typesafe's ecosystem is also really attractive with SBT,Akka,Slick,Play. Most of those support Java, but Scala is clearly preferred. - My employer will likely not approve any JDK 8 work for three years or so. If there is a shred of a possibility we will have to ship code to someone who expects JDK7 compatibility, we can't upgrade. - Major features are mostly catch up with everyone else. There are more exciting new developments elsewhere. - Android has pinned much of the Java programming community to legacy JDK 6. Even new Android 4.4 has this pathetic support for the trivial syntax additions, but doesn't support the major JDK7 features like InvokeDynamic byte code and the NIO.2 library. -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/javaposse. For more options, visit https://groups.google.com/groups/opt_out.
