Re: RFC: Make new versions of pgjdbc Java8+ - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: RFC: Make new versions of pgjdbc Java8+
Date
Msg-id CADK3HHKHio2boMOuAUzeLw0rwugx1QeuXK2vkbmSHr5qZ2D6ZA@mail.gmail.com
Whole thread Raw
In response to Re: RFC: Make new versions of pgjdbc Java8+  (Álvaro Hernández Tortosa <aht@8kdata.com>)
Responses Re: RFC: Make new versions of pgjdbc Java8+  (Álvaro Hernández Tortosa <aht@8kdata.com>)
List pgsql-jdbc


On 3 April 2017 at 10:05, Álvaro Hernández Tortosa <aht@8kdata.com> wrote:


On 03/04/17 15:57, Dave Cramer wrote:

On 3 April 2017 at 07:36, Álvaro Hernández Tortosa <aht@8kdata.com> wrote:


On 03/04/17 13:05, Dave Cramer wrote:

On 2 April 2017 at 19:03, Álvaro Hernández Tortosa <aht@8kdata.com> wrote:


On 03/04/17 00:56, John R Pierce wrote:
On 4/2/2017 3:40 PM, Álvaro Hernández Tortosa wrote:
- Java 6 EOLed 2/2013.
- Java 7 EOLed 4/2015.
- Java 8 was released 3 years ago, and brought significant improvements.
- Java 9 will be (may be) released this year.

isn't there a significant lag in version support by things like web services (j2ee, etc, as embedded in things like IBM WebSphere) ? j2ee 8 isn't even out yet.   Pretty sure a whole lot of that space is still stuck back in Java 6 land.



    Those are not related things. You can perfectly run J2EE 6 servers with Java 8 (and indeed, it is beneficial).


    Álvaro

--

Álvaro Hernández Tortosa


-----------
<8K>data

 
Alvaro,


So why do you want to write in java 8 ?


    Not a comprehensive or ordered list, but a few reasons:

- JDK comes with Base64 and cryptographic functions like PBKDF2 that are needed for SCRAM. In Java6 you either implement yourself or pull external dependencies.

- You can write conciser code (which improves significantly readability):
    * Lambas: anonymous classes. Callback-heavy code turns becomes readable.
    * Streams: unnecessary for loops and other goodies.
    * Optional: unnecessary ifs.
    * Since Java7: try-with-resources, 10_000 vs 10000 etc.

- Reading Javadoc doesn't hurt my eyes ^_^

- Time API, CompletableFuture.

- Default and static methods in interfaces!


    Álvaro

-- 

Álvaro Hernández Tortosa


-----------
<8K>data
In the interest of expediency using J8+ is acceptable for the first cut. However. I just checked maven stats for oss.sonatype.org and while j6 is not getting a lot of downloads, j7 is certainly significant.

    I guess you mean statistics for pgjdbc, right?]

Yes, sorry for the lack of clarity
 

    I'm sure there may be out there still some number of Java7s. However, my point is: those can still use any pgjdbc driver at least up to v42. And they are mature, performant, fully featured drivers, not a half-backed piece of software that you will be striving to upgrade. So even if Java7s are still there, they could be well served. But newer versions could be developed for Java8+ and encourage users to upgrade to a non-EOLed Java platform, and probably as a side-effect get better performance.

OK, but the scenario where people are using the latest version of Postgres with SCRAM and still using older versions of java is what I am thinking about. I wonder if SCRAM will get backpatched ?

pgsql-jdbc by date:

Previous
From: Álvaro Hernández Tortosa
Date:
Subject: Re: RFC: Make new versions of pgjdbc Java8+
Next
From: Álvaro Hernández Tortosa
Date:
Subject: Re: RFC: Make new versions of pgjdbc Java8+