Cette page reste evidemment sommaire et reste sujette à des modifications en fonctions de vos besoins et dse commentaires que vous nous ferez.
Java est un langage inventé par les développeurs de Sun. Si les bases de ce langage ont été concues en 1990, Java reste encore aujourd'hui dans une phase de développement.
Selon les développeurs de Sun, Java (qui signifie café en argot américain) est un langage : simple, orienté-objet, distribué, interprété, robuste sécurisé, neutre vis à vis de l'architecture, portable, à haute performance, multi-threaded et dynamique. Mis à part l'aspect de haute performance qui est TRES loin d'etre vérifié, Java dispose bien des fonction énumérées.
Comment ca fonctionne en gros ?
Le programmeur écrit un code qui est transformé par le compilateur Java en une série d'instructions qui ressemble à du langage machine (pseudo-code) mais que la machine est incapable d'exécuter. On fournit ce pseudo-code à un programme spécial (un interpréteur) qui éxécute l'une après l'autre les instructions du pseudo-code. L'interpréteur peut être un navigateur Web (comme Netscape Navigator) ou un programme indépendant plus ou moins caché dans le système d'exploitation de l'ordinateur. Le pseudo-code utilise la mémoire de la machine, mais un mécanisme (le ramasse-miettes) récupère la mémoire dès que possible ce qui permet ainsi à d'autres programmes de tourner. Le pseudo-code peut faire appel à des bibliothèques de classes qui sont tout simplement des programmes écrits par d'autres programmeurs. Ces bibliothèques de classes permettent au programmeur d'éviter d'avoir à réécrire sans cesse des fonctionnalités classique. Par exemple, les bibliothèques de classes contiennent des classes permettant de dessiner un bouton, d'ouvrir une connexion avec le réseau, de jouer de la musique... Ces bibliothèques de classes ne se trouvent pas forcement sur la machine où s'execute le pseudo-code. L'interpréteur va alors les chercher où il faut sur le réseau. En fait, vous avez peut être déja utilisé Java sans même le savoir, simplement en allant surfer sur le Web. Les programmes exécutés par les navigateurs sont appelés applets contrairement aux programmes autonomes appelés comme il se doit applications.
Java est un langage orienté objet. Cela signifie qu'il réalise un ensemble de concepts lui permettant de dépasser le cadre du simple langage de programmation struturé (Pascal, C...). En particulier, Java intègre les notions (voir Linden, pp. 35-65) :
Il existe en Java des types de données. On peut schématiquement diviser ces types en types simples (entier, double, booléen...) et en types structurés (c'est à dire des tableaux ou toute structure qui combine l'utilisation de plusieurs types simples).
De plus, Java, par sa vocation orientée objet, introduit un ensemble de d'instructions essentielles permettant :
Par ailleurs, Java propose un ensemble de mécanismes pratiques (repris du langage C) permettant :
Java présente un jeu d'instruction standard issu des langages actionnels (par opposition aux langages fonctionnels comme LISP) et permettant de controler le flot des données (c'est à dire la manière de répartir les traitements d'informations au sein d'un programme. En particulier, Java permet d'utiliser :
Java propose une hierarchie de classes comme autant de niveaux d'abstractions sur des objets. Les developpeurs de Java ont concu un grand nombre de classes pretes à l'emploi evitant au programmeur d'avoir à réécrire des fonctions classiques pour la nième fois. Ces classes constituent ce que l'on appelle une bibliothèque de classes. Elles sont prévues de manière à ce que le programmeur puisse insérer ses classes comme spécifications des classes existantes dans la bibliothèque. Les mécanismes d'interfaces et de classe abstraite sont particulièrements utiles à cet égard. Un mécanisme de sécurité complet (et complexe) permet en outre de garantir la protection du code produit par chaque programmeur fiabilisant ainsi l'environnement tout en empechant les mauvaises intentions (utilisation de code privé, distribution de code potentiellement dangereux...).
En résumé, Java propose :
Java peut être employé dans deux objectifs différents :
Nous présentons ci-dessous le même programme (repris par exemple de Ritchey, pp. 111-124) écrit soit sous la forme d'application soit sous la forme d'applet :
Pour les applets en général, voir aussi Macary & al., pp 195-202.
Java est un langage complet permettant d'écire n'importe quel programme. En particulier, Java peut permettre d'effectuer des tâches de calculs, des tâches graphiques, de générer du VRML...
Au cours des semaines et des mois à venir, des exemples seront accessibles à partir d'ici. Pour l'instant toutefois, il existe peu de programmes interessants écrits en Java, il faudra donc attendre un peu.
Pour une séance suivante, il reste à voir :
Pour une séance encore plus lointaine :
Excellent ouvrage pour les débutants, il vous fait progresser exemple par exemple non seulement à la découverte du langage Java mais aussi à la découverte des concepts de la programmation rientée objet.
Un ouvrage de référence pour programmeurs chevronnés. Les descriptions sont succintes et destinées essentiellement à des adeptes du langage C qui tentent une reconversion à Java. La description de la bibliothèques de classes est un modèle du genre. Le livre n'en est pas moins complet par ailleurs.
Ce livre est annoncé comme le compagnon de Java in a Nutshell. Effectivement, il est difficile d'acheter l'un sans l'autre puisque il n'y a aucun exemple dans Java in a Nutshell. Au contraire, dans celui-ci, tous les aspects de Java sont passés en revue par des exemples, de l'interface graphique aux réseaux en passant par les bases de données.
Intéressant pour son aspect simple et pour son approche comparative par rapport au langage C. Recommandé pour des débutants, des explications et l'emploi de sources d'informations complémentaires restent nécessaires. Probablement parteillement obsolète.
Cet ouvrage propose une découverte très progressive de Java, des outils associés et des environnements. Toutefois, malgré la quantité impressionnante des explications fournies pour chaque nouveau concept introduit, ce livre reste d'un contenu assez pauvre. Par ailleurs, ce livre est obsolete.
Produit par la firme qui a développée Java, ce livre est malheureusement très incomplet.