Using Java becomes a cup of Tea

Le but de cet article est de présenter les compléments qu’offre le langage Tea à l’environnement Java, tout en rappelant certaines généralités sur les langages de script.

A sa création en 1997, le but de Tea était de pallier le manque de langages de script pour l’environnement Java. Vingt ans plus tard, ces derniers se sont multipliés, à l’exemple de Groovy ou encore JRuby…

Tea présente les mêmes avantages que tous les langages de script. Un programme Tea peut être modifié et testé au fur et à mesure de son implémentation puisqu’il ne comprend pas de phase de compilation. De plus, l’approche non-typée des langages de script les rend pratique pour assembler les différents composants d’un projet polyglotte. Enfin, les langages de script étant des langages de haut niveau, les codes sont souvent courts, comparés à leur équivalent dans des langages de programmation de bas niveau. Tea n’y fait pas exception.

Bien entendu, Tea dispose d’avantages propres qui le différencient des autres langages de script. Il a à sa disposition plusieurs ensembles de fonctions (I/O, Lang, List, Math…) qui lui garantissent un large éventail de fonctionnalités. Pour éviter qu’un script Tea, même simple, soit surchargé par les codes correspondants à ces fonctions, Tea utilise le même système de gestion dynamique de la mémoire que Java. En effet, si un code Java appelle une fonction Tea, seule cette dernière sera chargée dans la Java Virtual Machine et non pas l’ensemble de la librairie à laquelle elle appartient.

La grande force de Tea réside dans son implémentation entièrement basée sur Java. Grâce à cela, il est possible d’ajouter des fonctionnalités à notre script Tea avec le vaste choix d’API déjà implémenté en Java. Réciproquement, une application Java peut être agrémentée d’un interpréteur Tea et ainsi lui permettre d’être interprétée à la volée, comme un script.

De plus, Tea est un langage multi-paradigmes. Parmi les paradigmes supportés, nous retrouvons sans surprise l’orienté-objet, qui est le paradigme principal de Java, mais aussi le paradigme fonctionnel. Cela explique pourquoi en Tea, les fonctions sont considérées comme des objets de premières classes, c’est à dire qu’elles peuvent être créées, supprimées, ou encore passées en paramètre à une autre fonction et qu’elles possèdent les mêmes droits qu’une autre variable en Tea.

Enfin, il faut noter que l’accès au code source de l’interpréteur Tea est privé, et qu’une alternative open-source appelée TeaClipse est en train de voir le jour.

--

--