Re: RFC: Make new versions of pgjdbc Java8+

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Álvaro Hernández Tortosa <aht(at)8kdata(dot)com>
Cc: John R Pierce <pierce(at)hogranch(dot)com>, List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: RFC: Make new versions of pgjdbc Java8+
Date: 2017-04-03 14:19:14
Message-ID: CADK3HHKHio2boMOuAUzeLw0rwugx1QeuXK2vkbmSHr5qZ2D6ZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

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

>
>
> On 03/04/17 15:57, Dave Cramer wrote:
>
>
> On 3 April 2017 at 07:36, Álvaro Hernández Tortosa <aht(at)8kdata(dot)com> wrote:
>
>>
>>
>> On 03/04/17 13:05, Dave Cramer wrote:
>>
>>
>> On 2 April 2017 at 19:03, Álvaro Hernández Tortosa <aht(at)8kdata(dot)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 ?

Dave Cramer

davec(at)postgresintl(dot)com
www.postgresintl.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2017-04-03 14:32:23 Re: RFC: Make new versions of pgjdbc Java8+
Previous Message Álvaro Hernández Tortosa 2017-04-03 14:05:53 Re: RFC: Make new versions of pgjdbc Java8+