next up previous contents index
Next: 3 Eléments de base Up: Java: Le langage Previous: 1 Des procédures aux

Subsections

2 C'est quoi Java ?

Vous avez sûrement déjà entendu parler du langage Java . Le tapage médiatique autour du langage Java et d'Internet laisse à penser que ce langage est uniquement conçu pour réaliser des pages WEB interactives et sophistiquées. Java est souvent associé aux fameux applets que l'on voit sur des pages WEB ; applets qui sont généralement des animations graphiques. Cette présentation finit par classer le langage Java parmi les divers langages dédiés aux pages WEB tels VBScript et JavaScript. Ces derniers sont conçus pour réaliser des programmes devant être encapsulés dans du code HTML de manière à réaliser des pages interactives, et ce, sans avoir à utiliser les CGI . VBScript et JavaScript sont intimement liés aux pages WEB et aux browser de pages HTML  : ils ne permettent pas de créer des applications autonomes i.e. indépendantes des pages WEB .

Quant à Java, il s'agit d'un langage de programmation à part entière. Il a été inventé dans les laboratoire de SUN par Bill Joy et James Gosling. L'objectif premier de ce langage était définir un langage de programmation portable sur toutes les plates-formes existante (1990). Avec l'intérêt grandissant d'Internet dans les années 1993, ce langage, de par sa portabilité, se métamorphose en langage dédié à Internet. Dans les années 1993, SUN diffuse le premier browser HotJava qui permet d'exécuter des applets Java i.e. des programmes Java encapsulés dans des pages WEB . L'attrait des applets Java , conduit NetScape et MicroSoft à inclure dans leur propre browser, les composants permettant d'exécuter les applets. Et c'est par le biais d'Internet, que le langage Java a connu un succès qu'on peut qualifier de foudroyant. En effet, bien peu de langages informatiques ont connu un tel succès en si peu de temps.

Les concepteurs de Java qualifient leur langage de simple, orienté objet, familier, distribué, interprété, robuste, sûre, portable, dynamique et multithread.

2.1 Le langage Java est simple, familier et orienté objet

Java est un langage simple car il n'utilise qu'un nombre restreint de nouveaux concepts. Sa syntaxe est très proches du langage C , ce qui rend familier aux programmeurs C et C++ . Java épure le langage C et C++ de toutes les scories sur lesquels se blessent bien des programmeurs et qui occupent une partie non négligeable du temps de développement. Par exemple, Il n'a plus de préprocesseur dans Java ; par exemple, Java est un langage orienté objet : un programme Java est centré complètement sur les objets et fournit un ensemble prédéfini de classes facilitant la manipulation des entrées-sorties, la programmation réseau, système, graphique. Excepté les types de données fondamentaux, tout est objet ! Seule l'héritage simple existe en Java, pour utiliser l'héritage multiple, on utilisera les interfaces.

2.2 Le langage Java est distribué

Conçu pour développer des applications en réseaux, les manipulations des objets distants ou locaux se font de la même manière. Par exemple, l'ouverture d'un fichier local ou distant se programme de manière identique. La classe Socket permet la programmation d'applications Client/Serveur de manière aisée.

2.3 Le langage Java est interprété

Pour être portable, un programme Java n'est pas compilé en code machine ; il est transformé en code intermédiaire interprété. De plus, il n'y pas plus de phase d'édition de liens ; les classes sont chargées en fonction des besoins lors de l'exécution et ce de manière incrémentale.

2.4 Le langage Java est robuste et sûr

Le langage Java est fortement typé ; il élimine bien des erreurs d'incohérence de type à la compilation. La suppression de la manipulation des pointeurs permet également de réduire de manière importante les erreurs. Un glaneur de mémoire rendu libre permet de décharger le programmeur d'une gestion fastidieuse de la mémoire.

Destiné pour des applications réseaux, la sécurité dans Java est un aspect primordial. Le fait de pas pouvoir manipuler les pointeurs et donc d'accéder à des zones mémoire sensibles diminue fortement l'introduction des virus informatiques.

Java ne supprime pas tous les problèmes de sécurité mais les réduit fortement. Un ensemble de garde fous sont placés entre l'interprétation du code Java et la réalisation de l'instruction (Verifier, Class Loader, Security Manager) pour contrôle au mieux l'exécution du code Java.

2.5 Le langage Java est portable et indépendant des plates-formes :

Le code intermédiaire produit est indépendant des plates-formes : il pourra être exécuté sur tous types de machines et systèmes pour peu qu'ils possèdent l'interpréteur de code Java. Même la programmation graphique, réseau et système est totalement indépendant des machines et systèmes. Les problèmes de " portage " qui occupe une partie non négligeable du temps de développement des logiciels disparaît ainsi.

2.6 Le langage Java est dynamique et multithread

Le langage Java est dynamique et s'adapte à l'évolution du système sur lequel il s'exécute. Les classes sont chargées en fur et à mesure des besoins, à travers le réseau s'il le faut. Les mises à jour des applications peuvent se faire classe par classe sans avoir à recompiler le tout en un exécutable final.

De nos jours, les applications possèdent un haut degré de parallélisme : il faut pouvoir écouter une musique, tout en voyant une animation graphique etc. Java permet le mutlithreading de manière simple.


next up previous contents index
Next: 3 Eléments de base Up: Java: Le langage Previous: 1 Des procédures aux
Touraivane
6/12/1998