Jakob, all, Getting support for JDK8 asap is I believe important. But I'm more leery of having it as the default platform for 2 reasons:
1. In some organizations there is standardization that gets more severe the lower you go down the application and system stack. Deploying a new app or service has a certain degree of pain, but a 'non-standard' JDK version can be almost as painful as trying to get a new OS out there. This problem naturally tends to afflict larger and more conservative companies -- and is likely getting better -- but I don't think we want premature JDK deprecation to be an impediment to new users. 2. Paranoia! I've not had any JDK8 systems in production use yet and don't know anyone who has. So it'd be nice to have input from anyone in the community who already has such experience. I think the most interesting part of those Hadoop discussions and others is the focus on having a clear roadmap with given future versions having pre-defined support for given platform versions. It would do the community -- and in particular new adopters -- a major service to have something similar. So something like the below if we wanted to be very methodical: Release 0.7: default JDK7, supports JDK6 Release 0.8: Default JDK7 supports JDK8 Release 0.9: Default JDK8 supports JDK7 Release 0.10: Default JDK8 My vote would certainly be for JDK8 support to be in the 2nd release and at the same time drop JDK6. Since that's some months away it gives us time to decide if JDK8 is default or supported by then. But certainly we should have JDK8 as the default platform by the time JDK7 is EOL though we likely need keep JDK7 support past that point, distasteful though it may be. Garry -----Original Message----- From: Jakob Homan [mailto:[email protected]] Sent: 25 June 2014 00:54 To: [email protected] Subject: [DISCUSS] JDK7 v JDK8 (and a bit of Scala v Java) Hwæt! Over in Hadoop, there're currently a couple very long threads regarding JDK7/8 support (http://bit.ly/jdkthread1 and http://bit.ly/jdkthread2). They're worth browsing through and we should have a similar discussion here. I was particularly surprised by the point in their thread that JDK7 is slated for EOL for April 2015 ( http://www.oracle.com/technetwork/java/eol-135779.html), less than a year from now. As such, I'm wondering if we should effectively focus on JDK8 rather than 7 and actively work to end our JDK6 support (which has already been EOLed for more than a year). There is a JIRA to support JDK8 that David and Garry have been working on ( https://issues.apache.org/jira/browse/SAMZA-202); it appears the main impediment may be Gradle and may already be fixed. Separately (and in a separate, future thread), I'd like to discuss moving away from Scala as the only implementation language for the core Scala classes and allowing Java implementations as well. I've grown quite disillusioned with Scala (http://youtu.be/uiJycy6dFSQ sums up my experience well) and am looking forward to the functional primitives JDK8 provides as a partial replacement for the promise of Scala. Additionally, I'm terrified at the prospect of trying to trying to support Scala implementations on JDK8 and beyond. The details for Java-as-well-as-Scala and Java-instead-of-Scala should be discussed separately, but either would likely need to be predicated on moving to JDK8 in order to not lose the functional approach that has worked well in the code. As such, I'd like to propose moving to JDK8 as soon as we can with that platform as the default target. With JDK7 having less than a year of practical shelf life, it'd be better to not find ourselves in the same 6-to-7 issue we have now a year from today. Thoughts? -jakob ----- No virus found in this message. Checked by AVG - www.avg.com Version: 2014.0.4592 / Virus Database: 3972/7722 - Release Date: 06/22/14
