Vous êtes sur la page 1sur 3

JAVA

Apparition du langage

PLATE-FORME

Vers la fin de 1995, le langage de programmation Java surgit sur la grande scne d'Internet et obtient immdiatement un norme succs. La prtention de Java est de constituer la colle universelle capable de connecter les utilisateurs aux informations, que celles-ci proviennent de serveurs Web de bases de donnes, de fournisseurs d'informations ou de toute autre source imaginable. Et Java se trouve en bonne position pour accomplir ce pari. Il s'agit d'un langage de conception trs performant qui a t adopt par la majorit des fournisseurs. Ses caractristiques intgres de scurit offrent un sentiment de confiance au programmeurs comme aux utilisateurs des applications. De plus, Java incorpore des fonctionnalits qui facilitent grandement certaines tches de programmation avances comme la gestion des rseaux, la connectivit des bases de donnes ou le dveloppement d'applications multitches. La rputation de Java en tant que langage informatique est exagre: Java est assurment un bon langage de programmation. Il s'agit, sans aucun doute, de Fun des meilleurs disponibles pour un programmeur srieux. Java aurait, potentiellement, pu tre un grand langage de programmation, mais il est probablement trop tard pour cela. Lorsqu'un langage commence tre exploit se pose le problme de la compatibilit avec le code existant. De plus, mme lorsque des modifications sont possibles sans rvolutionner le code existant, il est trs difficile pour les crateurs d'un langage qui a suscit autant d'intrt de reconnatre qu'un lment x pourrait tre plus mauvais ou meilleur qu'un lment y. Mme si nous esprons une amlioration de Java avec le temps, sa structure de demain restera, la base, trs proche de celle d'aujourd'hui.

Les avantages de Java


L'un des avantages vidents de ce langage est une bibliothque d'excution qui se veut indpendante de la plateforme: en thorie, il vous est possible d'utiliser le mme code pour Windows 95/98/NT, Solaris UNIX Macintosh, etc. Cette proprit est indispensable pour une programmation sur Internet (cependant, par rapport la disponibilit sur Windows et Solaris les implmentations sur d'autres plates-formes ont toujours un lger dcalage).

1) Architecture classique avec un bytecode diffrent pour chaque processeur .

2) Architecture Java, le bytecode passe par lintermdiaire dun interprteur.

Un autre avantage de ce langage de programmation rside dans le fait que la syntaxe de Java est analogue celle de C++ ce qui le rend conomique et professionnel. Le fait de crer une autre version d'un langage C++ n'est cependant pas suffisant. Le point cl est le suivant : il est beaucoup plus facile d'obtenir du code sans erreur l'aide de java qu'avec C++ Pourquoi ? Les concepteurs de Java ont beaucoup rflchi la raison pour laquelle le code C++ contenait autant d'erreurs. Cette rflexion les a amens ajouter dans Java des fonctions destines liminer la possibilit de crer du code contenant les types d'erreurs les plus courants (selon certaines estimations, le code C++ contient au moins une erreur toutes les cinquante lignes). Les concepteurs de java ont supprim l'allocation et la libration de mmoire manuelles. La mmoire dans java est alloue et libre automatiquement. Vous n'avez jamais vous proccuper de pertes de mmoire. Ils ont limin l'arithmtique des pointeurs introduisant du mme coup une vraie gestion de tableau. La notion de rfrence sur une zone mmoire remplace avantageusement celle de " pointeur", car elle supprime la possibilit d'craser toute zone mmoire cause d'un compteur erron. Ils ont limin toute possibilit de confusion entre une affectation et un test d'galit ans une instruction conditionnelle. Une instruction if (ntries - 3) ne pourra pas franchir l'tape de la compilation Ils ont supprim l'hritage multiple en le remplaant par une nouvelle notion d'interface drive d'Objective C. Les interfaces vous offrent tout ce que vous pouvez obtenir partir de l'hritage multiple, sans la complexit de la gestion de hirarchie d'hritage multiple.

Caractristiques
Les crateurs de Java ont crit un livre blanc qui prsent les caractristiques fondamentales de Java. Ce livre est articul autour des 11 termes suivants : Distribu Java possde une importante bibliothque de routines permettant de grer les protocoles TCP/IP tels que HTTP et FTP. Les applications Java peuvent charger et accder des sur Internet via des URL avec la mme facilit qu'elles accdent un fichier local sur le systme. Nous avons trouv que les fonctionnalits rseau de Java sont la fois fiables et d'utilisation aise. Toute personne ayant essay de faire de la programmation pour Internet avec un autre langage se rjouira de la simplicit de Java lorsqu'il s'agit de mettre en oeuvre des tches lourdes, comme l'ouverture d'une connexion avec un socket. De plus, Java rend plus facile l'laboration des scripts CGI (Common Gateway Interface), et un mcanisme lgant, nomm servlet, augmente considrablement l'efficacit du traitement ct serveur, assur par Java. De nombreux serveurs Web, parmi les plus courants, supportent les servlets. Le mcanisme d'invocation de mthode distance (RMI) autorise la communication entre objets distribus. Fiabilit Java a t conu pour que les programmes qui l'utilisent soient fiables sous diffrents aspects. Sa conception encourage le programmeur traquer prventivement les ventuels problmes, lancer des vrifications dynamiques en cours d'excution et liminer les situations gnratrices d'erreurs... La seule et unique grosse diffrence entre C++ et Java rside dans le fait que ce dernier intgre un modle de pointeur qui carte les risques d'crasement de la mmoire et d'endommagement des donnes. Orient objet Pour rester simples, disons que la conception oriente objet est une technique de programmation qui se concentre sur les donnes (les objets) et sur les interfaces avec ces objets. Pour faire une analogie avec la menuiserie, on pourrait dire qu'un menuisier "orient objet " s'intresse essentiellement la chaise l'objet qu'il fabrique et non sa conception (le "comment"). Par opposition, le menuisier "non orient objet " penserait d'abord au "comment "...

Simple Nous avoirs voulu crer un systme qui puisse tre programm simplement sans ncessiter un apprentissage sotrique, et qui tire parti de l'exprience standard actuelle. En consquence, mme si nous pensions que C++ ne convenait pas, Java a t conu de faon relativement proche de ce langage dans le dessein de faciliter la comprhension du systme. De nombreuses fonctions compliques, mal comprises, rarement utilises de C++, qui nous semblaient par exprience apporter plus d'inconvnients que d'avantages, ont t supprimes de Java. Scurit Java a t conu pour tre exploit dans des environnements serveur et distribus. Dans ce but, la scurit na pas t nglige. Java permet le construction de systmes inaltrables et sans virus. Architecture neutre Le compilateur gnre un format de fichier objet dont larchitecture est neutre le code compil est excutable sur de nombreux processeurs, partir du moment o le systme dexcution de Java est prsent. Pour ce faire, le compilateur Java gnre des instructions en bytecode qui nont de lien avec aucune architecture particulire. Au contraire, ces instructions ont t conues pour tre la fois faciles interprter et faciles traduire en code natif. Portable A la diffrence du C/C++, on ne trouve pas les aspects de dpendance de la mise ne uvre dans la spcification. Les tailles des types de donnes primaires sont spcifies, ainsi que le comportement arithmtique qui leur est applicable. Interprt Linterprteur Java peut excuter les bytecode directement sur nimporte quelle machine sur laquelle il a t port. Dans la mesure o la liaison est un processus plus incrmentiel et lger, le processus de dveloppement peut se rvler plus rapide et exploratoire. Performances leves En gnral, les performances des bytecodes interprts sont tout fait suffisantes, il existe toutefois des situations dans lesquelles des performances plus leves sont ncessaires. Les bytecodes peuvent tre traduits la vole en code machine pour lunit centrale destine accueillir lapplication. Multithread Les avantages du multithread sont une meilleure interractivit et un meilleur comportement en temps rel.