2. Questions d'ordre général sur Java et HotJava

Contenu de cette section

Cette partie est une introduction générale (non spécifique à Linux) à Java et HotJava.

2.1 Que sont Java et HotJava~? En quoi sont-ils intéressants~?

Java est un langage orienté réseau. Similaire au C++, il est plus compact et a été conçu plus proprement. Il met en oeuvre une gestion mémoire semblable à celle du Lisp (ramasse-miettes), mais dispose en plus d'une vérification statique des types, raison pour laquelle il est parfois décrit avec ironie comme un "Smalltalk doté d'une syntaxe cohérente". Les processus légers (threads) y sont intégrés et il dispose de nombreuses possibilités en termes de sécurité réseau. Jusqu'à présent, la principale application réalisée grâce à Java est le navigateur WWW HotJava, mais l'avenir de Java comme langage de développement d'applications de tous types semble prometteur.

HotJava est un navigateur WWW écrit en Java. Son principal avantage sur ses concurrents est de pouvoir traiter une nouvelle construction HTML appelée "APPLET". Une applet est un programme Java qui s'exécute sur la machine cliente. Les documents WWW peuvent par conséquent contenir des objets "vivants" et non plus de simples données.

La possibilité de transférer des objets exécutables représente le progrès le plus significatif de la technologie du World Wide Web depuis l'apparition de Mosaic. L'application la plus immédiate en est de pouvoir concevoir un navigateur Web qui ne nécessite plus d'incessantes mises à jour pour être capable de traiter les nouveaux formats d'images et les nouvelles constructions.

Un programme Java est transformé par compilation en un pseudo-code appelé "J-code" que l'interpréteur Java a pour rôle d'exécuter. Il se pourrait bien que le J-code soit en passe de devenir une référence universelle en matière de code indépendant s'exécutant sur une machine virtuelle, ou encore comme langage de compilation intermédiaire. Des rumeurs courent à propos de l'existence d'un compilateur ADA-95 générant du J-code et sur le développement d'un tel compilateur pour le langage C. Il est probable qu'en fin de compte, de nombreux langages de haut niveau permettront d'écrire des applets ou des programmes complets sur toute machine disposant d'un interpréteur Java. On peut aussi signaler l'apparition de microprocesseurs Java dont le jeu d'instruction est le J-code.

2.2 D'où viennent Java et HotJava~? Qui a le droit de les utiliser~?

Java et HotJava ont été développés chez Sun Microsystems, par une équipe conduite par James Gosling (déjà largement connu pour Gosling Emacs et NeWS).

La dernière tentative menée par Sun pour imposer un standard technique majeur a été NeWS, son système de fenêtrage réseau (Network Window System). Bien que la supériorité de NeWS sur X ait été reconnue presque unanimement, X a gagné la bataille pour la simple raison que les sources en étaient gratuitement disponibles. Cet échec a été formateur pour Sun~: Java et HotJava sont aisément accessibles, les fichiers source peuvent être téléchargés selon les termes d'une licence relativement souple [cf. Java, logiciel librement diffusable ] et Sun encourage les portages vers des environnements autres que Sun.

Netscape est déjà capable d'interpréter du Java. Microsoft a acquis la licence de la technologie en Décembre 1995. Il semble donc que le support de Java soit en passe de devenir universel en 1996.

A l'origine, Java s'appelait Oak. HotJava fut quant à lui dénommé WebRunner.

2.3 Quelle est la maturité de Java~?

Le 12 Décembre 1995, Sun mettait à disposition du public la version 'Bêta~2' de Java. Un mois plus tard venait le tour de la version 1.0, première version dite de "production". L'API (Application Programmers Interface) de l'environnement Java, qui définit son accès au système d'exploitation et au système de fenêtrage de la machine hôte, semble avoir été "gelée" : elle pourra être étendue, mais ne sera pas rendue incompatible avec la version actuelle.

La version 1.0 de ce document a été rendue publique en même temps que la version bêta~1.0 du kit de développement Java (JDK) pour Linux, dont le portage a été réalisé par Randy Chapman.

C'est un fait connu que de sérieux trous de sécurité existent dans l'implémentation de Java. Ce n'est donc pour l'instant pas une très bonne idée que d'utiliser Java pour des applications sensibles. Ces problèmes seront certainement résolus dans les versions de production (post-beta).

2.4 Où peut-on trouver de la documentation sur Java et HotJava~?

Sun tient à jour un serveur Web complet proposant des documents sur Java et HotJava à l'adresse~: http://java.sun.com .
Des copies de ces documents se trouvent en d'autres endroits, tels que http://java.blackdown.com (Sun fournit une liste de sites miroirs).

2.5 Certes, mais où trouver une documentation papier~?

La série officielle des manuels Java de SunSoft Press est en cours de production chez Addison-Wesley. On peut trouver quelques détails sur ces ouvrages dans http://www.loria.fr/linux/ .

Le traducteur, enfin, souhaite remercier Pierre Vassellerie (Pierre.Vassellerie@obspm.fr) et Bernard Choppy (choppy@imaginet.fr) pour leur aide dans la mise en forme et la correctionde ce document.


Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre

usr/doc/LANG/fr/HOWTO/Java-HOWTO-2.html100644 0 0 27255 6244355373 15415 0ustar rootroot Questions d'ordre général sur Java et HotJava

2. Questions d'ordre général sur Java et HotJava

Contenu de cette section

Cette partie est une introduction générale (non spécifique à Linux) à Java et HotJava.

2.1 Que sont Java et HotJava~? En quoi sont-ils intéressants~?

Java est un langage orienté réseau. Similaire au C++, il est plus compact et a été conçu plus proprement. Il met en oeuvre une gestion mémoire semblable à celle du Lisp (ramasse-miettes), mais dispose en plus d'une vérification statique des types, raison pour laquelle il est parfois décrit avec ironie comme un "Smalltalk doté d'une syntaxe cohérente". Les processus légers (threads) y sont intégrés et il dispose de nombreuses possibilités en termes de sécurité réseau. Jusqu'à présent, la principale application réalisée grâce à Java est le navigateur WWW HotJava, mais l'avenir de Java comme langage de développement d'applications de tous types semble prometteur.

HotJava est un navigateur WWW écrit en Java. Son principal avantage sur ses concurrents est de pouvoir traiter une nouvelle construction HTML appelée "APPLET". Une applet est un programme Java qui s'exécute sur la machine cliente. Les documents WWW peuvent par conséquent contenir des objets "vivants" et non plus de simples données.

La possibilité de transférer des objets exécutables représente le progrès le plus significatif de la technologie du World Wide Web depuis l'apparition de Mosaic. L'application la plus immédiate en est de pouvoir concevoir un navigateur Web qui ne nécessite plus d'incessantes mises à jour pour être capable de traiter les nouveaux formats d'images et les nouvelles constructions.

Un programme Java est transformé par compilation en un pseudo-code appelé "J-code" que l'interpréteur Java a pour rôle d'exécuter. Il se pourrait bien que le J-code soit en passe de devenir une référence universelle en matière de code indépendant s'exécutant sur une machine virtuelle, ou encore comme langage de compilation intermédiaire. Des rumeurs courent à propos de l'existence d'un compilateur ADA-95 générant du J-code et sur le développement d'un tel compilateur pour le langage C. Il est probable qu'en fin de compte, de nombreux langages de haut niveau permettront d'écrire des applets ou des programmes complets sur toute machine disposant d'un interpréteur Java. On peut aussi signaler l'apparition de microprocesseurs Java dont le jeu d'instruction est le J-code.

2.2 D'où viennent Java et HotJava~? Qui a le droit de les utiliser~?

Java et HotJava ont été développés chez Sun Microsystems, par une équipe conduite par James Gosling (déjà largement connu pour Gosling Emacs et NeWS).

La dernière tentative menée par Sun pour imposer un standard technique majeur a été NeWS, son système de fenêtrage réseau (Network Window System). Bien que la supériorité de NeWS sur X ait été reconnue presque unanimement, X a gagné la bataille pour la simple