On Thu, 2014-02-13 at 12:46 -0800, clay wrote: > I'm disappointed there is not a peep about JDK 8 in this forum.
There is only Java 8, all previous Java version have ceased to exist. > 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. Agree to all of those. > 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. And still way behind Groovy as well, And Ceylon. And Kotlin. And Groovy is now a static language as well as a dynamic language. > - 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. That is the nature of JDK8 isn't it. Just like JDK5. There are people still using JDK1.4 because they see too much change and cannot afford to take the risk. > - 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. So use Ceylon. Or Go ;-) If Android really is stuck on Java 6 for much longer then the native code solutions will gain traction. There is already anti-Java feeling out there from people. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder -- 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.
