IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Présentation du langage NICE


précédentsommairesuivant

I. Rapports entre Nice et Java

Nice n'est pas vraiment un nouveau langage dans la mesure où il s'inspire totalement de Java. Vous allez pouvoir constater que Nice fait mieux que reprendre les concepts, principes et notations présents dans Java, et qu'un développement en Nice est loin d'être incompatible avec Java.

I-A. Le compilateur

Premier aspect qui a son importance, le compilateur Nice a été écrit en Java. Cela nécessite notamment de disposer d'une JVM 1.2 ou supérieure. Ce compilateur génère du bytecode Java, qui va pouvoir être exécuté comme n'importe quelle application développée en Java. La particularité de la compilation Nice réside dans le fait de compiler des paquetages et non des fichiers.
Nice a donc un lien de parenté évident avec Java, mais nous allons progressivement constater que ce lien de parenté ne saurait se limiter à une relation du type père-fils.

I-B. La philosophie et l'exécution d'un programme

Le langage reprend les grands principes de Java, à savoir la hiérarchisation en paquetages. Nice reprend également l'ensemble des mots-clés et de la syntaxe du langage Java.
Les grands principes et mots d'ordre de Nice sont la modularité, la sécurité, et la production de code intelligent (« Expressivity » en anglais). Nice peut ainsi permettre aux développeurs une meilleure réutilisation du code, de mettre en pratique des modèles moins conventionnels qui posaient problème avec Java. Le langage permet également la détection de certaines exceptions directement à la compilation, là où elles pourraient se déclencher aléatoirement en fonctionnement pour un programme similaire en Java. Enfin, Nice apporte un certain nombre d'éléments au niveau du codage de tâches classiques comme les boucles ou les traitements sur des ensembles. Ces apports permettent de réduire considérablement la taille et la complexité du code par rapport à ce qu'on peut avoir l'habitude de faire avec Java.

La commande pour lancer la compilation est similaire à celle utilisée pour Java : on appelle la commande nicec comme on appellerait la commande javac (aux options de commande près).
Pour lancer le programme, il n'y a pas de secret : un traditionnel java monfichier suffira puisque le compilateur Nice produit du bytecode Java.
Enfin, tout comme Java dispose de la Javadoc, Nice propose la Nicedoc.

I-C. Confirmation d'un lien de parenté

Nice permet donc, tout comme Java, la déclaration d'une classe ou d'une interface dans un fichier. Néanmoins, dans la philosophie de Nice, l'écriture de la méthode statique classique main n'est pas recommandée : cette méthode n'apportant rien de particulier à la classe, il est préférable de la déclarer à part dans un fichier. En effet, ce qui n'est pas possible en Java, l'est avec Nice : à savoir uniquement déclarer une méthode dans un fichier à l'intérieur d'un paquetage. Mais cela n'est pas uniquement un atout pour déclarer la méthode main à part, nous verrons par la suite que cet aspect offre de formidables opportunités en termes de modularité.

Un autre lien de parenté, que certains pourront voir dans le sens Nice -> Java, est la possibilité de bénéficier des fonctionnalités annoncées pour Java 5 avec Nice. En effet, Nice dispose déjà de la généricité (types paramétrés), de boucles for plus efficaces, ou encore l'autoboxing.

I-D. Interopérabilité avec Java

La relation Java-Nice ne se limite pas à une relation du type Père-Fils. En effet, comme on pouvait s'y attendre (similitudes flagrantes dans l'utilisation de paquetages et la déclaration de classes) Nice est hautement compatible avec tout code Java existant. Il est donc non seulement possible de faire appel aux bibliothèques de classes classiques comme java.util, mais bien évidemment également toute classe définie par vos soins. Il est notamment possible d'hériter d'une classe Java ou d'implémenter une classe Java.
Jusque là, le lecteur pourrait se dire que le langage Nice est certes séduisant et introduit des concepts intéressants, mais que de parier sur ce langage pouvait être risqué, car il n'offre pas la même pérennité que Java. Un aspect qui pourra alors en intéresser certains est le suivant : étant donné que Nice produit du bytecode Java, il est possible d'utiliser des classes Nice dans votre code Java. Il y a certes des limitations, notamment l'impossibilité de surcharger une méthode Nice en Java, mais il est tout à fait envisageable de faire une partie du développement d'une application Java en Nice.


précédentsommairesuivant

Copyright © 2004 Ricky81. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.