Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 66F33200CC0 for ; Sun, 9 Jul 2017 16:29:03 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 656B916A95C; Sun, 9 Jul 2017 14:29:03 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 8532B16A94A for ; Sun, 9 Jul 2017 16:29:02 +0200 (CEST) Received: (qmail 42598 invoked by uid 500); 9 Jul 2017 14:29:01 -0000 Mailing-List: contact dev-help@poi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "POI Developers List" Delivered-To: mailing list dev@poi.apache.org Received: (qmail 42587 invoked by uid 99); 9 Jul 2017 14:29:01 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Jul 2017 14:29:01 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 0F237C061C for ; Sun, 9 Jul 2017 14:29:01 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.016 X-Spam-Level: * X-Spam-Status: No, score=1.016 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.796, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URI_HEX=1.313] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id miwNg0G9_mTc for ; Sun, 9 Jul 2017 14:28:57 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id A5EFA5F36B for ; Sun, 9 Jul 2017 14:28:56 +0000 (UTC) Received: from mail-qt0-f178.google.com ([209.85.216.178]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0Lu874-1ddjMX0qfe-011Vnp for ; Sun, 09 Jul 2017 16:28:55 +0200 Received: by mail-qt0-f178.google.com with SMTP id i2so56326773qta.3 for ; Sun, 09 Jul 2017 07:28:54 -0700 (PDT) X-Gm-Message-State: AIVw1130MLIovknzL3NF+FSKoZk2DqPO9cnEOg5iBQG53CLpEAmDcH6q em3oZ7HHsnUyZXz64cKECzLF97DvhA== X-Received: by 10.200.43.208 with SMTP id n16mr35371594qtn.190.1499610533605; Sun, 09 Jul 2017 07:28:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.16.199 with HTTP; Sun, 9 Jul 2017 07:28:52 -0700 (PDT) Received: by 10.140.16.199 with HTTP; Sun, 9 Jul 2017 07:28:52 -0700 (PDT) In-Reply-To: References: <1499603350405-5728102.post@n5.nabble.com> From: Dominik Stadler Date: Sun, 9 Jul 2017 16:28:52 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Java 6 support To: POI Developers List Content-Type: multipart/alternative; boundary="001a113933fa283aae0553e34967" X-Provags-ID: V03:K0:c9tiK3wtV5sipul0yNK77TQnSt7hH5YDiXPA3JQiOjquI97bAgz IYdoDgOxrl4REk+HnJzADZjy2uLzwKtwP0/g9NdYWmLoFYpPdu/h4eKTVgRqyDIieVNYbD2 ML3X5BIsjdIRdCIzISQ6Rd8EezzTq0okueIjKoAD1BuVxkrCIqII9thqiQMNhXm0ov2vX7Z 1JtU9njrty6rLmhgItk+w== X-UI-Out-Filterresults: notjunk:1;V01:K0:ld6WBP/qZpQ=:u1Ee320ZsWYhNN+e/qJF/3 FWEp5WvEROa3xFpvNpkE4qc/MjmSDshVS69oOeKCY2urmLMMRqsu9YVXp/N3zHUzVwBk19C4W 3w97to1WF0JIk3xAebcIXGpnesSSWA7osVfQMcYzNPz4RpEaI11CQVz8fsjaGxhTWRyhSYTAA cnxOHDWXLXtw6azBUTg6nt+swLR9NF/VMc57qW4HSK7HX84HwqWQeHSAFnl0ZJ0ddgK9s5r82 u+9xEe8YMfnbJJoYmejYJE1wX89GEQ2QwwYdXYjT0RheTwGXcsJQ5f2lAe7N7kP4eA9ZmfIS/ RwxVOEegAmc4e0ZQWfgAnJNzisH4jrjRzwMaqKfXLmbupjVjceHQ0HrMbEoY+maHVz68UdvW2 uKBV8ld783S8hotZigDfaIS7AyYSqCBeFSHBth+1CqUiFNv1DUnZzk6AGyIqQAhrEOpx+hsat feHdcjoN+8aJeKyuay4HGg52mSfRim8z8kgbUQ7jVRtZqFRjGs8Z1X5EpRKHxdY/MibTflT43 yJ/KtmxMb2HCO7BduxV/6H0GVm0u+T7tQtkSS3bzZFZ/s73W6VrH8HDImpomBxILs1iuZS5ss wFDlplr+B+A1adWBHxf8An5U2luYZ+UsCQOT6s4hR6VDuaPor4G1d+tQF/LRahkpdj+ke9e26 k7LMmUa5DEciDQno30YS62Oz4tsSsD5us/tWtJa9IOVfMCizINqQuAvYO89IhX4Ora9+ZWkhf ww8dBjqNilShibhZVhiWAuHzv5rOpyFO2HBGL+9c5+tPsowBu3daXrH8V9assr+KerqQq2n8v RQ40oCv archived-at: Sun, 09 Jul 2017 14:29:03 -0000 --001a113933fa283aae0553e34967 Content-Type: text/plain; charset="UTF-8" Hi, +1 for Java 7 in POI 4 after 3.17 is out. And I for not investing too much in backwards compatibility, people on Java 6 likely still run POI 3.9 anyway. I'm -1 on Java 8, as 7 is still needed for Android AFAIK and we get a number of requests in that area lately. Dominik On Jul 9, 2017 16:10, "Javen O'Neal" wrote: > (writing an iterator in Java is particularly painful). We could also leapfrog Java 7 and go straight to Java 8 with support for streams and lambdas. And yes, it's a can of worms to try to compile Java 7/8 source to Java 6 bytecode. It shouldn't be, as that's one of the glorious things about intermediate code, and somehow Kotlin and other languages managed to compile to Java 6 bytecode... https://stackoverflow.com/questions/22610400/a-program- made-with-java-8-can-be-run-on-java-7 On Jul 9, 2017 15:48, "Javen O'Neal" wrote: +1 I'm in favor of dropping Java 6 support. If users still need to run new versions of POI on old JVMs, they should be able to cross-compile, though it may require some extra tools on their end to modify the bytecode to be compatible with and old JVM. If we can figure out a way to maintain binary compatibility with Java 6 while rewriting our code with features from Java 7 (diamond operator for inferred generic type, try-with-resources, Unicode literals), then it's a no-brainer. If cross compilation doesn't work, I was toying with the idea of rewriting parts of the code in Kotlin, Scala, or other static JVM language that maintains Java 6 compatibility while providing a less verbose language to write code in (writing an iterator in Java is particularly painful). If we're talking about POI 4.0, we should also think about replacing XMLBeans, since that can't be done gradually like refactoring the code to use Java 7 language features. Either before or after we replace XMLBeans, it'd be worthwhile to fully read files into POJOs so we don't have to keep an XMLDOM open. This is why we struggle with RAM and CPU performance. I'm not sure if it's easier to replace XMLBeans before de-XMLDOM'ing POI (assuming we want that), but it's worth discussing as we look at the roadmap of dependent tasks to move forward. Of course, if we're not ready to embark on replacing XMLBeans and de-XMLDOM, we can drop Java 6 support in POI 4 and work on removing XMLBeans and the XMLDOM in POI 5 (or 6). On Jul 9, 2017 14:29, "kiwiwings" wrote: It has been a while that we've discussed this topic ... or at least I couldn't find another more recent/decent thread ... [1] How about switching to Java 7 now? If we'd do, will we change to version 4 then? Andi [1] http://apache-poi.1045710.n5.nabble.com/Java-6-support-td5721373.html -- View this message in context: http://apache-poi.1045710.n5.n abble.com/Java-6-support-tp5721373p5728102.html Sent from the POI - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org For additional commands, e-mail: dev-help@poi.apache.org --001a113933fa283aae0553e34967--