Java a aujourd'hui 5 ans. C'est donc un langage assez récent.Pour
la petite histoire, java signifie café en argot américain.
Il a été conçu par Sun MicroSystem dans le but d'améliorer
la productivité des programmeurs. Le fer de lance de Java est "Write
once, run everywhere", ou "Ecrire une fois, utiliser partout".
L'objectif est d'écrire une fois pour toutes des applications capables
de fonctionner dans tous les environnements. Cela necessite la définition
d'une machine virtuelle (JVM) sur laquelle les programmes écrits
doivent fonctionner. Sun se charge de l'implémentation des JVM
dans les environnements Unix et Windows et laisse à d'autres le
soin d'en faire autant pour les autres environnements (MacOS et Linux
notamment). Un langage écrit en Java doit donc être compilé
et le ByteCode généré (c'est comme ça qu'on
l'appelle) peut être interprété par n'importe quelle
machine virtuelle.
Java est aussi fortement intégré au monde Internet.
On peut créer des applets ou appliquettes qui correspondent à
de petites applications que les navigateurs sont capables d'afficher et
d'interpréter. Ils sont eux même équipés d'une
machine virtuelle.
Java est un langage orienté objet, c'est à dire qu'on
ne va pas manipuler des fonctions et des procédures mais des objets
qui vont s'échanger des messages. Le principal avantage est que
l'on peut réaliser une programmation modulaire : tous les objets
peuvent être mis au point séparément. Si on devait
comparer Java à un autre langage on pourrait le comparer à
C++.
Java possède l'avantage d'être extensible à l'infini.
Il utilise très peu de méthode native et la plupart des
packages (librairies de classes) sont écrits eux mêmes en
java. Le package swing en est le parfait exemple.
Java est très sécurisé, ce qui le différencie
beaucoup de C++. On n'aura pas à s'occuper de libérer la
mémoire à la fin de vie d'un objet. Un garbage collector
(ramasse miètes en français) s'en charge pour nous.
Java présente vraiment
beaucoup d'avantages. Il est très agréable de développer
avec. Cependant il souffre encore d'un gros défaut même si
dans sa dernière version ça tend à s'améliorer.
Il est effectivement parfois lent et nécessite de bonnes
machines pour fonctionner. Ce défaut est lié à la
machine virtuelle qui doit interpréter le ByteCode. Il est par
contre parfois possible de compiler le code en langage machine mais dans
ce cas on perd l'interopérabilité au niveau des systèmes.
|