Présentation
EnglishAuteur(s)
-
Patrick BELLOT : Docteur d’État en informatique - Professeur à l’École nationale supérieure des Télécommunications
-
Christophe MATIACHOFF : Docteur de l’université Pierre-et-Marie-Curie - IBM Global Services - CGI Informatique, centre de Compétences Objet
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Java est le dernier né des langages de programmation orientée objet. Il n’est pas un journal relatif à l’informatique qui ne présente régulièrement des articles concernant le langage Java. Java envahit l’industrie et les projets sont nombreux. Il y a peu de projets réels mais beaucoup de prototypes de validation de la technologie. Le deuxième symposium Java qui s’est tenu à Berlin fin 1997 a vu la présentation de nombreux produits. Les constructeurs et les sociétés de logiciels s’investissent dans la technologie Java. Aucun colloque concernant la programmation orientée objet ne peut faire l’impasse sur Java. Enfin, Java conquiert les universités et les écoles où sa publicité, alliée à une certaine simplicité de programmation pour des résultats spectaculaires, induit la demande des élèves. Nous allons présenter Java, sa technologie et examiner objectivement les raisons de ce succès.
Le langage Java et ses concepts ont été développés par Sun Microsystems Inc. Les concepts ont été pour l’essentiel empruntés aux langages orientés objet existants. Un site Web maintient à jour les informations sur Java, son historique et ses nouveaux développements. Ces derniers sont si rapides qu’il est pratiquement impossible d’obtenir une information à jour sans la consultation régulière de ce genre de sites. Même si Java n’est pas exclusivement un langage de développement pour Internet, il a grandement facilité la programmation répartie, celle des interfaces graphiques et celle des « applets », petits programmes exécutés par les « navigateurs Internet ». De fait, la vie de Java se passe sur Internet. C’est là qu’il faut chercher les dernières nouveautés, demander des aides en cas de doute, rechercher les derniers outils de développement ou les bibliothèques récentes.
Le concept Java a été développé par l’équipe de James Gosling de Sun Microsystems Inc. dans le but d’obtenir des programmes téléchargeables et indépendants du support d’exécution, machine et système d’exploitation. Le marché ciblé est celui des machines portables de faible capacité mais pouvant être connectées au réseau. Il est aussi celui des navigateurs Web qui ont besoin d’interactivité pour n’être plus de simples afficheurs d’informations multimédias. Il leur faut donc être programmables à partir des serveurs où ils vont chercher l’information. Les promoteurs de Java en disent que c’est un langage orienté objet, simple, réparti, robuste, sûr, indépendant de l’architecture, por-table, efficace, « multithread » et dynamique.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Mythes et réalités
Cette présentation avait pour but de montrer l’essence de Java, ce qu’on peut en attendre et comment y accéder. Nous pouvons à présent faire le point sur les différentes qualités que l’on prête à ce langage.
Un langage orienté objet.
Java est un langage orienté objet, mais il ne propose pas tout ce que l’on peut attendre d’un langage de ce type. En un sens, les puristes de l’objet peuvent être déçus, mais le langage est suffisamment simple pour que le programmeur peu au fait de la technologie objet puisse s’y investir et maîtriser le langage rapidement. Seule les notions de redéfinitions et de liaison dynamique des méthodes peuvent demander un certain apprentissage. La syntaxe très proche de celle de C ou de C++ est un autre facteur facilitant la prise en main du langage. Mais attention, cette proximité de syntaxe ne traduit pas une proximité des sémantiques. Java est très éloigné de C++.
Un langage plus propre.
Un aspect important pour les théoriciens de la programmation et des langages est le toilettage du langage. Le langage est plus simple et plus propre que C++ avec, notamment, la suppression des pointeurs déjà préconisée par SmallTalk et Eiffel. De même, l’héritage simple apporte aussi une simplification de la sémantique du langage même si celle-ci se paie par une complexification de la programmation. Le programmeur est libéré de la gestion de la mémoire grâce au ramasse-miettes qui le dispense des trop fameux problèmes d’allocation et désallocation de mémoire propres aux langages de moins haut niveau. Le programmeur alloue en créant des objets mais il n’a jamais la charge de la récupération de la mémoire non utilisée. Cela peut être déroutant pour les habitués de C et de C++ mais on s’y fait très bien au point de ne plus pouvoir revenir en arrière car l’on perd le réflexe d’envisager soi-même la gestion de la mémoire.
Un langage efficace et portable.
Le problème de l’efficacité réelle de Java sera abordé plus profondément dans [5]. La mise en œuvre de Java est présentée comme novatrice alors que le concept de machine virtuelle était déjà formalisé par L. Nolin, un des pères de l’informatique française, en 1969 [19]. Il a d’ailleurs largement été utilisé dans le passé. Même s’il apporte des avantages non négligeables dans le domaine de la portabilité en libérant...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Mythes et réalités
BIBLIOGRAPHIE
-
(1) - Java : market, opportunities, and trend. - Zona Research Inc. (1997).
-
(2) - ARON (P.), PRADENC (H.) - La Java Card débarque. - Le Monde Informatique, 739 (24 octobre 1997), 4.
-
(3) - BARNES (J.) - Programming in Ada 95. - Addison-Wesley (1995).
-
(4) - BELLOT (P.) - Conception et programmation par les objets, le langage Eiffel. - Soumis pour parution chez Eyrolles, 250 p., Paris (1997).
-
(5) - BELLOT (P.), ROBINET (B.) - Conception de logiciels et portabilité. - [H 3 288] Technologies logicielles – Architectures des systèmes (1998).
-
(6) - STROUSTRUP (B.) - The Design and Evolution of C++. - Addison-Wesley (1994).
-
...
ANNEXES
Microsoft, Visual J# http://msdn.microsoft.com/vjsharp
Borland JBuilder https://borland-jbuilder.software.informer.com/T%C3%A9l%C3%A9charger/
Java World http://www.javaworld.com
Developer.com http://www.developer.com/java
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive