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.

Reply via email to