Développer des applications avec le langage Java

……….

Présentation du langage

Introduction
Le langage java a fait une entrée spectaculaire dans le monde du développement logiciel en 1995. Il combinait des options déjà popularisées par certains de ces concurrents (l’orientation objet), et des caractéristiques particulièrement adaptées aux autres tendances dominantes du moment (Internet).

Philosophie

Un langage orienté objet
L’orientation objet s’est progressivement imposée comme technologie de développement, laissant espérer dans la conception des applications: plus de réutilisation (du code, mais aussi de l’architecture) une plus grande réactivité au changement un moindre coût de maintenance Les langages orientés objets les mieux connus étaient C++ et SmallTalk . java occupe une position intermédiaire, plus proche de C++ en ce qui concerne le  style de programmation. Nous verrons les principes de la programmation objet un peu plus loin, mais la notion essentielle est celle de classe, qui définit le comportement des variables du langage, appelés objets, et un programme java est un ensemble de définition  de classes.

Un langage interprété

java est un langage compilé, la compilation produisant un pseudo code destiné à être interprété par une machine virtuelle, habituellement désignée sous le nom de JVM. Les spécifications précises tant du pseudo code que du modèle d’exécution de la JVM font partie intégrante des spécifications du langage.

1.2.3 Un langage multi-plateformes
Les spécifications ci-dessus étant indépendantes de tout environnement physique, le premier bénéfice est la portabilité: en principe, une application écrite et compilée dans un environnement peut être exécutée dans n’importe quel autre.
Bien sûr quelques précautions sont à prendre:
Un constructeur peut respecter les spécifications de la machine virtuelle tout en introduisant des extensions. Si une application tire partie de ces extensions, elle ne pourra fonctionner que dans les environnement les implémentant.
Un programme réaliste doit procéder avec le monde extérieur (le système chier, l’interface utilisateur, les bases de données). Les concepteurs du langage ont fait de leur mieux pour rendre portable cet interfaçage, mais il n’est pas toujours possible de cacher le problème au développeur qui a besoin des fonctionnalités spécifiques d’un environnement.  Un seul langage n’étant pas toujours suffisant pour toutes les applications certains programmes peuvent devoir utiliser l ‘ouverture de java pour appeler des fonctions extérieures (native). Ceci bien sûr rend le développeur responsable de la portabilité correspondante.

1.2.4 Un environnement d’exécution complet
La machine virtuelle est prolongée par une bibliothèque de classes très complète qui non seulement accélère le développement des applications mais joue un rôle important dans leur portabilité. Ces classes sont regroupées en packages.

1.3 java et Internet
En plus des bénéces décrits dans les paragraphes précédents, la structure du pseudo code est telle qu’il est possible pour la machine virtuelle de requérir des éléments compilés (les .class), en fonction des besoins, auprès de n’importe quelle source. Ceci est évidemment très adapté au Web, et a donné naissance à la notion d’applet, mini-applications pouvant fonctionner dans un browser sans que l’utilisateur ait eu à se préoccuper de leur installation, et qui ont été l’un des principaux facteurs de l’explosion médiatique de java, même si l’intérêt du langage est très loin de s’y limiter.

1.4 Le marché
La popularité de java a atteint des sommets littéralement inouïs pour un langage de programmation: le grand public peut voir son nom dans tous les media! De façon plus concrète pour son succès industriel, beaucoup d’entreprises s’y sont intéressées:
 Du point de vue du style de développement, il remplit un créneau non encore occupé dans la gamme des langages orientés objet (il reste proche le C++, dont le succés, mesuré en nombre de développeurs, est supérieur à celui de concurrents comme SmallTalk), et nous verrons qu’il protége le développeur des difficultés de plus bas niveau rencontrées dans C++. Ses possibilités d’adaptation à des environnements répartis, basés sur des composants, sont immédiates.

…………

Cours pdf

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *