De nombreux index sur le classement des langages s’accordent sur le fait que Java est l’un des langages de programmation les plus utilisés à travers le monde.
Cependant, de nombreuses universités se détournent du langage Java pour l’initiation à la programmation. Le langage est maintenu dans les programmes essentiellement à cause de sa popularité en entreprise. Mais, pour des universités américaines de référence comme le MIT, l’initiation à Java commence à partir du niveau 1 ou 2.
Plusieurs universités américaines ont opté pour l’utilisation du langage Python pour l’initiation à la programmation de niveau 0 et niveau 1, selon un sondage qui avait été réalisé par l’ACM il y a un an.
Les grandes écoles américaines se tournent vers Python à cause de sa simplicité pour l’apprentissage. Une simplicité qu’elle doit en partie à l’implémentation de REPL (Read Evaluate Print Loop), qui permet aux étudiants de rapidement avoir un aperçu de leur code, car les modifications sont exécutées instantanément.
Pour pallier à cela, les développeurs de Java ont décidé d’intégrer à Java 9 des fonctionnalités REPL, à travers le projet Kulla. Ce projet a donné naissance à JShell qui permet une programmation interactive, de telle sorte que tout ce qui entre au clavier est systématiquement évalué.
Avec ce mode de fonctionnement basé sur une boucle : lecture - évaluation – impression (REPL), l'interpréteur :
• R : lit une expression ;
• E : évalue (calcule le résultat de) cette expression ;
• P : imprime sur la sortie standard le résultat de l'évaluation ;
• L : recommence en R.
JShell est un outil en ligne de commande, qui permet d’exécuter des instructions Java directement. Il offre une API qui permet d’évaluer de manière interactive les déclarations et les expressions du langage Java.
Pour plus de simplicité et de rapidité dans l’écriture du code pour les apprenants, JShell interprète directement des expressions sans avoir besoin qu’elles soient enveloppées dans une classe ou une méthode, qui n’a pas également besoin d’une classe pour être interprétée. Le « ; » à la fin d’une instruction devient optionnel avec JShell.
L’outil pour plus de facilité supportera des fonctions comme l’autocomplexion, l’ajout automatique des points-virgules, les importations, etc.
La prise en charge de REPL est l’une des fonctionnalités les plus attendues de Java 9, qui sortira en version stable le 22 septembre 2016.
Toutefois, la fonctionnalité a ses détracteurs, qui remettent en cause l’utilité d’un outil orienté expression pour un langage comme Java qui est orienté déclaration.
Télécharger une préversion du JDK
Et vous ?
Etes-vous pour ou contre le support de REPL dans Java ? Pourquoi ?
Java 9 : premier aperçu de JShell
L'implémentation de REPL
Java 9 : premier aperçu de JShell
L'implémentation de REPL
Le , par Hinault Romaric
Une erreur dans cette actualité ? Signalez-nous-la !