[Sorry it took so long. Have been on break.]

From Guy:

Thanks for the forward.  Here are my thoughts:

Good question from Rémi.

If we consider PRNGs to have started at about the time of von Neumann, circa 
1946, then I would say that we have been inventing a new category about once 
every 25 years or so: jumpable, multi-level jumpable, cryptographically secure, 
splittable.  Twenty years ago we would just have one or more levels of 
jumping/leaping.  I think SecureRandom appeared in 2002 (in J2SE 1.4), and the 
first version of SplittableRandom was in 2014.

So I could be wrong, but I really don’t expect to have to add any more 
interfaces in the next decade or two.  I think we will get more benefit from 
the better type checking than we would get with optional methods.

—Guy


> On Nov 17, 2020, at 7:18 PM, Remi Forax <fo...@univ-mlv.fr> wrote:
> 
> An honest question,
> why do we need so many interfaces for the different categories of 
> RandomGenerator ?
> 
> My fear is that we are encoding the state of our knowledge of the different 
> kinds of random generators now so it will not be pretty in the future when 
> new categories of random generator are discovered/invented.
> If we can take example of the past to predict the future, 20 years ago, what 
> should have been the hierarchy at that time.
> Is it not reasonable to think that we will need new kinds of random generator 
> in the future ?
> 
> I wonder if it's not better to have one interface and several optional 
> methods like we have with the collections, it means that we are loosing the 
> possibilities to precisely type a method that only works with a precise type 
> of generator but it will be more future proof.
> 
> Rémi
> 
> ----- Mail original -----
>> De: "Jim Laskey" <jlas...@openjdk.java.net>
>> À: "build-dev" <build-...@openjdk.java.net>, "core-libs-dev" 
>> <core-libs-...@openjdk.java.net>,
>> security-dev@openjdk.java.net
>> Envoyé: Mardi 17 Novembre 2020 23:21:18
>> Objet: Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators 
>> [v3]
> 
>>> This PR is to introduce a new random number API for the JDK. The primary 
>>> API is
>>> found in RandomGenerator and RandomGeneratorFactory. Further description 
>>> can be
>>> found in the JEP https://openjdk.java.net/jeps/356 .
>> 
>> Jim Laskey has updated the pull request with a new target base due to a 
>> merge or
>> a rebase. The pull request now contains 40 commits:
>> 
>> - Merge branch 'master' into 8248862
>> - 8248862: Implement Enhanced Pseudo-Random Number Generators
>> 
>>  Update package-info.java
>> - 8248862: Implement Enhanced Pseudo-Random Number Generators
>> 
>>  Updated RandomGeneratorFactory javadoc.
>> - 8248862: Implement Enhanced Pseudo-Random Number Generators
>> 
>>  Updated documentation for RandomGeneratorFactory.
>> - Merge branch 'master' into 8248862
>> - Merge branch 'master' into 8248862
>> - 8248862: Implement Enhanced Pseudo-Random Number Generators
>> 
>>  Move RandomGeneratorProperty
>> - Merge branch 'master' into 8248862
>> - 8248862: Implement Enhanced Pseudo-Random Number Generators
>> 
>>  Clear up javadoc
>> - 8248862; Implement Enhanced Pseudo-Random Number Generators
>> 
>>  remove RandomGeneratorProperty from API
>> - ... and 30 more: 
>> https://git.openjdk.java.net/jdk/compare/f7517386...6fe94c68
>> 
>> -------------
>> 
>> Changes: https://git.openjdk.java.net/jdk/pull/1273/files
>> Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1273&range=02
>> Stats: 14891 lines in 31 files changed: 11110 ins; 3704 del; 77 mod
>> Patch: https://git.openjdk.java.net/jdk/pull/1273.diff
>> Fetch: git fetch https://git.openjdk.java.net/jdk pull/1273/head:pull/1273
>> 
>> PR: https://git.openjdk.java.net/jdk/pull/1273

Reply via email to