Nicolai Parlog, Java Developer Advocate (chargé des relations avec les développeurs Java d'Oracle), a publié il y a quelques jours une vidéo sur les plans de développement du langage Java pour les douze prochains mois. Un certain nombre de projets OpenJDK sont couverts, notamment Amber, Babylon, Leyden, Lilliput, Loom, Panama et Valhalla. Par conséquent, qu'il s'agisse du filtrage ou d'autres améliorations du langage, des interactions avec le code externe, de la mémoire ou des plateformes, l'efficacité de la mémoire, ou encore du temps de démarrage, il existe de nombreux domaines dans lesquels Java s'améliorera en 2024.Dans sa vidéo, publiée le 18 janvier, Parlog a fait allusion à de nombreuses nouvelles fonctionnalités sur lesquelles l'équipe de développement de Java pourrait travailler en 2024. Cependant, il a averti que la majorité des travaux entrepris au cours d'une année pourraient ne pas être publiés la même année, ce qui signifie que les améliorations seront disponibles en 2025 ou plus tard. Les points mentionnés par Parlog couvrent les projets OpenJDK tels que Babylon, Amber, Leyden, Lilliput, Loom, Panama et Valhalla. Ces projets visent à améliorer Java dans des domaines. Voici ci-dessous en quoi consistent ces projets :
Babylon
Proposé en septembre par Paul Sandoz, architecte chez Oracle, Babylon est un projet qui vise à étendre la portée de Java aux modèles de programmation étrangers grâce à une amélioration de la programmation réflexive en Java, connue sous le nom de réflexion du code. Selon la proposition, cela permettrait l'accès standard, l'analyse et la transformation du code Java sous une forme appropriée. La prise en charge d'un modèle de programmation étranger pourrait alors être plus facilement mise en œuvre sous la forme d'une bibliothèque Java.
Babylon s'assurerait que la réflexion du code est adaptée à l'objectif en créant un modèle de programmation GPU pour Java qui tire parti de la réflexion sur le code et qui est mis en œuvre sous la forme d'une bibliothèque Java. Afin de réduire le risque de biais, le projet Babylon explore ou encourage l'exploration d'autres modèles de programmation tels que SQL et la programmation différentielle. En expliquant ce que Babylon permettrait de faire, Sandoz a cité l'exemple d'un développeur qui souhaite écrire un noyau GPU en Java et l'exécuter sur un GPU.
Le code du développeur doit être analysé et transformé en un noyau GPU exécutable. Bien qu'une bibliothèque Java puisse le faire, elle nécessite l'accès au code Java sous forme symbolique. Cet accès est actuellement limité à l'utilisation d'API non standard ou à des conventions à différents moments du cycle de vie du programme, c'est-à-dire au moment de la compilation ou de l'exécution. En outre, les formes symboliques disponibles (arbres syntaxiques abstraits ou bytecodes) sont souvent mal adaptées à l'analyse et à la transformation.
L'équipe Babylon prévoit de publier quelques cas d'utilisation dans les semaines à venir, tels que l'autodifférenciation, l'émulation LINQ en C#, et la programmation GPU. L'émulation LINQ C# et la programmation GPU. Cependant, le projet Babylon en est encore à ses débuts, et Parlog ne s'attend donc pas à ce que quelque chose de substantiel en ressorte en 2024.
Amber
Le projet Amber est une initiative des développeurs de Java et d'OpenJDK visant à livrer quelques changements petits, mais essentiels au JDK pour rendre le processus de développement plus agréable. L'objectif du projet Amber est d'explorer et d'incuber de petites fonctionnalités du langage Java orientées vers la productivité qui ont été acceptées comme JEP candidates dans le processus JEP de l'OpenJDK. Ce projet est sponsorisé par le Compiler Group.
La plupart des fonctionnalités du projet Amber font l'objet d'au moins deux cycles de prévisualisation avant de devenir une partie officielle de la plateforme Java. Pour une fonctionnalité donnée, il existe des JEP distincts pour chaque cycle de prévisualisation et pour la normalisation finale. Les fonctionnalités en cours de prévisualisation comprennent des modèles de chaînes de caractères, une méthode principale simplifiée et des déclarations avant this() et super().
Parlog a déclaré que ces fonctionnalités devraient être disponibles cette année. « Je m'attends à ce que ces trois éléments soient finalisés en 2024 », a déclaré Parlog. Des fonctionnalités telles que les types primitifs dans les motifs et...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.