Java a été conçu pour être un langage final. Pourtant, au fil des années, il s'est révélé intéressant pour implémenter des langages de script. Les possibilités d'interopérabilité avec la JVM sont un des points forts de ces langages de script.
En comparaison des langages compilés dont Java fait partie, les langages de script possèdent des atouts indéniables. Rapidité d'écriture, grande expressivité grâce à des types de haut niveau et au typage dynamique, pas de phase de compilation. L'inconvénient potentiel d'un langage naissant, c'est l'éventuelle absence de riches bibliothèques. De son côté Java est, c'est le moins que l'on puisse dire, très riche en bibliothèques. De fait, même si Java n'a pas du tout été conçu pour cela au départ, nombreux sont ceux qui ont eu l'idée de l'utiliser pour implémenter des langages de script et profiter de ses acquis. Avec des résultats souvent excellents. Ainsi, parmi d'autres, nous avons Jython, un Python écrit en Java, Groovy, Clojure, un Lisp en Java, JRuby, Scala, ou encore Rhino qui est un Javascript pour Java. Tous ces langages offrent en plus l'interopérabilité avec la JVM. Dans cet article nous allons examiner ce point particulier pour quelques-uns d'entres eux.
Frédéric Mazué