Le langage Java Examen probatoire – Informatique – Mai 99 (version corrigée) Ja

Le langage Java Examen probatoire – Informatique – Mai 99 (version corrigée) Jacqueline Deschamps Président du jury : Professeur Christian Carrez Conservatoire National des Arts et S O M M A I R E INTRODUCTION 3 1. JAVA : UNE ÉTAPE DANS L’ÉVOLUTION DES LANGAGES DE PROGRAMMATION 4 1.1. L’ORIGINE 4 1.2. JAVA : LE LANGAGE DU TROISIÈME MILLÉNAIRE ? 4 1.3. L’ÉVOLUTION DES LANGAGES DE PROGRAMMATION 6 1.4. CE QU’ON ATTEND AUJOURD’HUI D’UN LANGAGE DE PROGRAMMATION 8 1.5. LE LANGAGE JAVA : POURQUOI FAIRE ? 9 2. LA DESCRIPTION DU LANGAGE JAVA 10 2.1. LA TECHNOLOGIE OBJET EN JAVA 10 2.2. LA CONSTRUCTION D’UN PROGRAMME JAVA 19 2.3. LA SYNTAXE DE JAVA 19 2.4. LES « APPLETS » 22 2.5. LES INTERFACES GRAPHIQUES 24 2.6. LES ENTRÉES-SORTIES 28 2.7. LA GESTION DES EXCEPTIONS 31 2.8. LA GESTION DES PROCESSUS MULTIPLES LÉGERS « THREADS » (ACTIVITÉS) 33 2.9. LA COMMUNICATION RÉSEAU 36 2.10. LES ÉVOLUTIONS RÉCENTES DE JAVA 36 2.11. LES ENVIRONNEMENTS DE DÉVELOPPEMENT JAVA 40 3. LES AVANTAGES ET LES INCONVÉNIENTS DU LANGAGE JAVA 41 3.1. ELÉMENTS DE COMPARAISON AVEC C++ 41 3.2. TABLEAU DE SYNTHÈSE 43 CONCLUSION 45 BIBLIOGRAPHIE 46 TABLE DES MATIÈRES 47 CNAM – Examen probatoire – mai 1999 – le langage Java – page 2 / 49 Introduction Le langage Java est un langage récent. En 1995, James Gosling, de la société Sun Microsystem, présentait son nouveau langage de programmation orienté objet au Sunworld à San Fransisco. En décembre 1998, Sun annonçait la plate-forme Java 2, attendue sous le nom de JDK 1.2 (Java Developpement Kit). A peine quatre années se sont écoulées durant lesquelles, Java a fait son entrée dans le monde Internet d’abord avec les « applets », puis du côté des serveurs d’application avec les JavaBeans, véritables briques pour la construction de logiciels, et les EJB (Enterprise Java Beans), destinés à faciliter le développement de serveurs d’application. Lotus Notes a annoncé sa première suite bureautique « made in Java », IBM, Oracle, et d’autres ont pris une licence Java… Le langage Java a donc pénétré rapidement dans le monde des entreprises. C’est un vrai langage orienté objet. Certains disent qu’il réunit l’ensemble des avantages de Smalltak et de C++. Il a encore des problèmes de performance à résoudre. Sa pureté et sa richesse conceptuelle, son indépendance vis à vis des matériels et systèmes, peuvent faire souhaiter son développement et sa consolidation comme « le langage du troisième millénaire ». En 1995, Java fut donné à la communauté Internet. Sun, en mettant à disposition sur le Web le compilateur, les spécifications, les bibliothèques et la documentation permettait au Monde entier de développer dans un environnement non-propriétaire. Les spécifications du langage Java sont en cours de soumission aux instances de normalisation de l’ISO. La normalisation pourrait être une garantie pour que les spécifications du langage évoluent sans recréer des systèmes propriétaires. Java fait, en effet, l’objet d’une intense bataille industrielle qui s’est exprimée sur le terrain juridique avec le procès de Sun à l’encontre de Microsoft. Au-delà de l’aspect commercial, c’est l’intérêt des utilisateurs qui est en jeu. Le présent rapport expose d’abord les raisons qui ont poussé à la création du langage Java et survole ses principales caractéristiques. Dans une deuxième partie, il résume, face à l’évolution des technologies, ce que les utilisateurs attendent d’un langage de programmation, les principaux critères d’un bon langage et l’apport les langages orienté objet. Puis, il analyse de façon plus détaillée le fonctionnement du langage Java et met en avant comment celui-ci répond aux besoins. Enfin, après une rapide comparaison avec C++, il résume les principaux points forts et points faibles du langage Java en prenant en compte le contexte d’utilisation. CNAM – Examen probatoire – mai 1999 – le langage Java – page 3 / 49 1. Java : une étape dans l’évolution des langages de programmation 1.1. L’origine Java est né comme langage de programmation pour réaliser des petits logiciels intégrés dans les appareils électroniques « grand public ». Ces logiciels doivent respecter un certain nombre de contraintes, telles que : pouvoir tourner sur de nouvelles puces dès qu’elles arrivent sur le marché et posséder une grande fiabilité. L’objectif initial était donc la création d’un langage pour le développement des applications de contrôle d’équipements domestiques. Il devait être indépendant des plates-formes, robuste et sûr. Une petite équipe de Sun, James Gosling, Arthur Van Hoff et Bill Joy, a constaté que les langages existants tels que C et C++ n’étaient pas adaptés pour produire des logiciels capables de respecter ces contraintes : d’une part, le code compilé ne pouvait fonctionner que sur un seul type de puce et d’autre part la complexité de C ou C++ rendait l’écriture de logiciels fiables particulièrement délicate. En 1990, Gosling, Sheridan et Naughton se lancèrent dans la conception d’un nouveau langage dénommé Oak. Ce langage était simple, fiable et indépendant de l’architecture. En 1993, le Web se développa de façon soudaine et très importante. Les contraintes respectées par Oak correspondaient bien aux développements d’applications sur Internet. Sun lança alors le langage Java qui permet de développer les « applets ». Les « applets » ou appliquettes en français sont de petits programmes inclus dans des documents HTML qui s’exécutent lors de l’affichage de la page. Elles permettent d’animer les pages HTML et de les rendre davantage interactives. En mai 1995, Le langage Java est présenté lors d’une conférence et mis à disposition des développeurs avec ses spécifications, un environnement de développepent le JDK (java Developpement Kit) et des bibliothèques d’objets sur le Web. 1.2. Java : le langage du troisième millénaire ? Java est donc un langage de programmation orienté objet. Il est gratuit. Java est aussi une marque qui regroupe trois notions :  un langage, objet principal du présent rapport,  une machine virtuelle JVM (Java Virtual Machine) qui permet d’interpréter et d’exécuter les programmes Java. C’est l’existence de la JVM qui permet l’indépendance vis à vis des plates-formes.  des API (interface de programmation d’applications) : c’est un ensemble de classes avec une documentation d’utilisation qui accompagnent le langage et permettent de réutiliser des composants déjà testés. Dans un document de Sun « The Java language : A White Paper » Java est défini comme suit : « un langage simple, orienté objet, distribué, interprété, robuste, sécurisé, indépendant des architectures, portable, efficace, multi « threads » et dynamique » Document de Sun cité dans Java in a Nutshell - Davis Flanagan – édition O’REILLY Simple Java a été conçu pour être un langage simple à apprendre. Il contient un nombre limité de constructions. Il n’utilise pas de pointeurs. C’est le langage qui gère l’attribution et la suppression CNAM – Examen probatoire – mai 1999 – le langage Java – page 4 / 49 des emplacements mémoires nécessaires aux programmes libérant ainsi le programmeur des fonctions de plus bas niveau, proches de la machine. Java utilise beaucoup de constructions de C ou de C++ et a une syntaxe très proche de ces langages. Ceci le rend familier aux programmeurs C et C++. Orienté objet A la différence de C++, Java a été entièrement conçu pour être orienté objet. Les données et méthodes sont encapsulées dans un même objet qui constitue un composant logiciel. En Java tout est objet, exceptions faites des types primitifs pour les valeurs numériques, des caractères et des booléens. Il est livré avec un ensemble de classes, organisées en paquetages qui sont utilisés dans les programmes. Il existe ainsi un paquetage pour les interfaces graphiques (java.awt), un pour les entrées/sorties (java.io), un autre pour les applications en réseau (java.net)… Réparti Java est conçu pour le développement d’applications en réseau. Avec Java, il est aussi facile d’ouvrir un fichier sur une machine distante que sur une machine locale. Il est également possible de créer des applications client/serveur. Interprété Le code source Java est d’abord compilé pour générer du « byte code » et non directement du code machine. Le byte-code est ensuite interprété et exécuté par une « Java Virtual Machine » (JVM). L’avantage de la compilation est de générer un code optimisé pour s’exécuter sur une machine. L’inconvénient est que ce code est dédié à un seul type de machine. L’avantage du byte-code de Java est qu’il est indépendant des plates-formes. Son inconvénient est d’être plus lent à l’exécution. Java est un bon compromis entre les techniques de compilation et d’interprétation : Il est partiellement compilé ce qui permet d’obtenir des temps d’exécution corrects et partiellement interprété pour être indépendant des plates-formes. Robuste Java a été conçu pour être un langage permettant de développer des applications fiables. Il élimine un certain nombre de causes de bogues. Il est fortement typé et oblige le programmeur à déclarer toutes les méthodes. Les erreurs sont ainsi plus souvent détectables à la compilation. Le modèle de représentation de la mémoire adopté par Java contribue à la fiabilité des logiciels. Il n’autorise pas les pointeurs, on ne peut donc pas écraser des données ou corrompre la mémoire. Il a prévu uploads/Industriel/ cnam-java-rapport-final.pdf

  • 30
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager