Page d'accueilFindIt !ContactLes imagesLes notions de base

La bibliothèque JavaTM 1.0

Table des matièresHierarchie des classes

CJava

 Plus loin avec Java...

Les évolutions du langage
Conclusion

 

Les évolutions du langage

Le langage Java évolue rapidement : après les premières versions 1.0 de test sorties fin 1995, la version 1.1 est apparue au printemps 1997, la version 2 (anciennement 1.2) en décembre 1998 (disponible pour Windows, Solaris et Linux chez Javasoft), suivie d'autres versions tous les 2 ans environ.
Ce paragraphe vous présente les principales évolutions apportées à Java au cours des versions 1.1 et 2 : ces développements ont surtout enrichis la bibliothèque de classes Java mais certains portent aussi sur le noyau du langage lui-même.

Java 1.1

  • Classes internes (inner classes) : ce type de classes a accès à toutes les champs de la classe dans laquelle elles sont définies.
  • Les fichiers de classes, d'images, de sons,... dont peut avoir besoin un programme Java, peuvent être rassemblés dans un seul fichier au format JAR (Java ARchvive). Ceci permet de charger une applet en seule requête HTTP et de réduire la taille des fichiers car ce format reprend le format de compression ZIP. Le chargement des applets est ainsi accéléré.
  • Un nouveau système de gestion des événements utilisant un modèle de délégation des événements.
  • JavaBeansTM : ce nouveau package permet de créer des classes de composants réutilisables et que l'on peut facilement assembler ensemble dans les environnements de développement rapide (RAD), comme le permettent d'autres produits comme ActiveX de Microsoft.
  • Internationalisation : gestion de ressources pour permettre de gérer les différentes versions d'un programme suivant la langue de l'utilisateur.
  • La possibilité d'enregistrer les objets (sérialisation) et de les recréer à partir d'une sauvegarde.
  • Remote Method Invocation : ces nouveaux packages permettent d'invoquer des méthodes à distance sur des objets fonctionnant sur d'autres Machines Virtuelles Java et éventuellement même sur un autre ordinateur d'un réseau. Ceci permet de mettre en pratique la programmation objet distribué.
  • JDBCTM (Java DataBase Connectivity) : ce package permet d'accéder à des bases de données via des requêtes SQL.
  • ...

Java 2

  • JFC (Java Foundation Classes) : cette ensemble de classes vient enrichir de manière significative la gestion de l'interface graphique actuelle AWT. Il se décompose en différents types de fonctionnalités :
    • Swing : ces nouvelles classes définissent un nouvel ensemble de composants reprenant les composants classiques (bouton, liste,...) enrichi de composants plus complexes (arbre, tableau,...).
    • Java 2D : ces nouvelles classes du package java.awt permettent d'effectuer des opérations plus riches de dessins : définitions et compositions de formes, transformations, antialiasing, gestion plus riche des polices de caractères...
    • Drag and drop (glisser-déposer pour les puristes) : gestion du transfert de données entre applications Java et applications natives du système.
  • Collections de données : de nouvelles classes sont ajoutées au package java.util, permettant de gérer des listes chaînées, des ensembles,... et d'effectuer des opérations de tris, de recherche,...
  • Intégration de CORBA (Common Object Request Broker Architecture) dans Java.
  • Améliorations diverses des classes existantes et des performances.
  • ...


A ces versions de base, s'ajoutent des bibliothèques d'extensions développées par Javasoft, qui fonctionnent soit avec Java 1.1, soit avec Java 2 :

Ce manuel présente la version 2 du noyau du langage Java et la version 1.0 de la bibliothèque Java (qui permet de faire déjà beaucoup de choses), suivie de la description de la bibliothèque d'extension Java 3D.

Conclusion

Un des principaux atouts de Java est sa portabilité résumée dans la phrase Write once, run anywhereTM (Ecrivez une fois, faites tourner n'importe où). A l'usage, vous verrez que certaines des premières versions des navigateurs ne permettent pas toujours de faire tourner vos applets de la manière attendue. Les principaux problèmes surviennent surtout pour les méthodes des interfaces du package java.applet qui sont justement implémentées par chaque navigateur... Si vous voulez utiliser ces fonctionnalités, testez si possible vos applets sur différents navigateurs pour vérifier leur bon fonctionnement.

Certaines personnes reprocheront aussi au système d'interface graphique AWT de Java de n'être que le plus petit dénominateur commun entre toutes les fonctionnalités fournies par les différents systèmes existants (Mac OS, Windows, X11/Motif,...). Bien que ceci soit plutôt vrai, le package java.awt a le mérite d'exister et de satisfaire les besoins de la plupart des applets et applications.
Mais la nouvelle bibliothèque Swing qui est utilisable avec Java 1.1 et/ou Java 2 a considérablement enrichi les possibilités de gestion de l'interface graphique tout en offrant un modèle de conception très ouvert.

Personnellement, je trouve que Java est un langage très agréable et se maîtrisant très rapidement. Pour vous donner un ordre d'idée, j'ai appris le langage en une cinquantaine d'heures (en lisant deux ouvrages), et j'ai réalisé ensuite en une quarantaine d'heures une première version du démineur Java Mine (très proche de la version finale fournie sur ce site).

A ce jour, je n'ai trouvé que peu de personnes critiques sur ce langage (et encore que sur des points de détails à mon avis négligeables tels que les assertions, l'absence de template, l'utilisation de paramètres constants,...). C'est peut-être bien là que réside la véritable explication de son succès présent et futur : après tout un langage n'est qu'un outil du développeur, et si celui-ci est satisfait par son utilisation, l'outil en question a de bonnes chances de succès...

J'espère que ces pages auront pu rassasier vos esprits curieux, et vous auront convaincu.

Pour terminer, je ne ferai pas de citation (je suis plutôt mauvais dans ce domaine) mais je tiens à remercier toutes les personnes de mon entourage qui m'ont soutenu dans ce travail de longue haleine, ne serait-ce que par leur curiosité... et particulièrement Diem My, mon petit Thomas et Sophie la petite dernière.

 

Si vous avez encore un peu de temps à consacrer à ce site, MERCI de donner votre avis grâce au formulaire accompagnant ce site.


Page d'accueilFindIt !ContactLes imagesLes notions de baseDébut de la page
© Copyrights 1997-2015 Emmanuel PUYBARET / eTeks
- Tous droits réservés -
Table des matièresHiérarchie des classes