Les PRNG en voie d’être améliorés dans Java 17

La version de support à long terme LTS de Java prévue pour septembre 2021 pourrait s’enrichir d’une API uniforme de générateurs de nombres pseudo-aléatoires pour tous les PRNG.

Même si elle n’est pas prévue avant le mois de septembre 2021, Java 17 a déjà commencé à prendre forme, avec une proposition de développement de générateurs de nombres pseudo-aléatoires améliorés, avec pour objectif d’apparaître dans la future mise à niveau de Java standard. Déposée dans le cadre du Java Development Kit (JDK) 17 d’OpenJDK, la proposition fournirait d’autres types d’interfaces et des implémentations pour les générateurs de nombres pseudo-aléatoires (PRNG), y compris des sauts de PRNG et l’ajout d’une classe supplémentaire d’algorithmes PRNG divisibles (LXM). Une interface appelée RandomGenerator, fournirait une API uniforme pour tous les PRNG existants et nouveaux. Quatre interfaces RandomGenerator spécialisées seraient livrées avec Java 17.

Les objectifs de la proposition sont les suivants :

– Faciliter l’interchangeabilité de divers algorithmes PRNG dans les applications.

– Améliorer la prise en charge de la programmation basée sur des flux, en fournissant des flux d’objets PRNG.

– Éliminer la duplication de code dans les classes PRNG existantes.

– Préserver le comportement existant de la classe java.util.Random.

D’autres fonctionnalités à attendre

L’idée est de se concentrer sur de multiples domaines d’amélioration autour de la génération de nombres pseudo-aléatoires en Java. Il ne s’agit pas de fournir des implémentations de nombreux autres algorithmes PRNG. Mais trois algorithmes communs, déjà largement déployés dans d’autres environnements de langage de programmation, ont été ajoutés.

Dans les prochains mois, d’autres fonctionnalités seront proposées pour le JDK 17. C’est le cas notamment d’une API Foreign Linker, d’une API Vector et d’une API Foreign-Memory-Access, toutes actuellement en phase d’incubation dans la version du JDK 16 prévue pour le 16 mars. Les « classes scellées », présentes en deuxième preview dans le JDK 16, pourraient être généralement disponibles dans le JDK 17.

Normalement, le JDK 17 devrait être la prochaine version LTS de Java, ce qui signifie que cette version bénéficiera de plusieurs années de support. Les autres itérations de Java, assimilées à des versions de fonctionnalités, ne sont supportées que pendant six mois. Les déclinaisons LTS sont publiées tous les trois ans. La dernière édition LTS, le JDK 11, a été publiée en septembre 2018. Les dernières versions de Java sont publiées tous les six mois. JDK 15 est la version actuelle de Java standard.

Les versions open source du JDK 17 sont disponibles à l’adresse jdk.java.net.

chevron_left
chevron_right