Java

Décembre 2016

Histoire de Java


Java est un langage de programmation objet, dont la syntaxe ressemble au langage C++. Il a été mis au point à partir de 1990 par la firme Sun Microsystems et officiellement présenté en 1995. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré dans les appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de permettre une communication entre les appareils. Ce programme de développement se situait dans un projet appelé Green, visant à créer une télécommande universelle (Star 7, présentée en 1992) comprenant un système d'exploitation capable de gérer l'ensemble des appareils électroménagers de la maison. Etant donné que le langage C++ comportait trop de difficultés, James Gosling, un des acteurs du projet (considéré désormais comme le père de Java) décida de créer un langage orienté objet reprenant les caractéristiques principales du C++, en éliminant ses points difficiles, et en le rendant moins encombrant et plus portable (il devait pouvoir être intégré dans n'importe quel appareil...). Ainsi, ce langage fut baptisé dans un premier temps Oak (Oak signifiant chêne). Toutefois, puisque ce nom était déjà utilisé, il fut rebaptisé Java en l'honneur de la boisson préférée des programmeurs, c'est-à-dire le café, dont une partie de la production provient de l'île Java.

A la même époque, le Web faisait son apparition, or Java possèdait toutes les caractéristiques faisant de lui un langage approprié pour le Web :

  • Le réseau des réseaux rassemblant sur une même structure des machines différentes, il fallait un langage capable de fonctionner sur chacune d'entre-elles: Java était conçu pour être portable
  • Le web était limité en bande passante: Java était conçu pour être petit

Ainsi, en 1994, l'équipe décida de mettre au point un navigateur (baptisé HotJava) intégrant Java et capable de faire fonctionner des applets (des petites applications fonctionnant dans un navigateur). C'est ainsi que fin 1995 Java eut un terrible essor avec le soutien de Netscape, qui ne tarda pas à inclure Java dans son navigateur...

Comparaison de Java et de C++


Le langage Java a une syntaxe très proche du langage C++ mais est beaucoup plus orienté programmation objet. Certaines caractéristiques critiques du langage C++ (celles qui sont à l'origine des principales erreurs) n'ont donc pas été reprises. Cela comprend :

  • Les pointeurs
  • La surcharge d'opérateurs
  • L'héritage multiple (remplacé par la notion d'interface)

En revanche :
  • La libération de mémoire est transparente pour l'utilisateur (grâce à un ramasse-miettes)
  • La gestion des exceptions est beaucoup plus rigoureuse
  • Les chaines et les tableaux sont des objets faisant partie intégrante du langage

Toutefois Java est moins rapide que le langage C++, car il est interprété par une machine virtuelle. Il perd donc en rapidité ce qu'il gagne en portabilité...

Les versions de Java


Le langage Java n'est pas fixé dans le temps, il évolue, des ajouts au langage sont régulièrement proposés, et l'API standard s'enrichie continuellement passant de 200 classes à près de 4000 entre la première et la "dernière" version :

  • JDK 1.0 (1996) : C'est la première version stable du langage, de ce fait la totalité des navigateurs la supporte
  • JDK 1.1 (1997) : Elle apporte des améliorations syntaxiques ainsi que des progrès au niveau de l'interface utilisateur AWT et de la gestion des exceptions.
  • J2SE 1.2 (1998) : La version "2" apporte des améliorations multimédias. Elle permet par exemple l'utilisation d'interface utilisateur graphique avancée avec Swing, ainsi que la possibilité d'interagir avec elle par le moyen de glisser-déposer
  • J2SE 1.3 (2000) : L'amélioration multimédia se poursuit avec l'apparition de l'API Java Sound.
  • J2SE 1.4 (2002) : Multimédia toujours, avec une bibliothèque de gestion d'images.
  • J2SE 5.0 (2004) : Ajouts de nouvelles fonctionnalités au langage, comme les annotations, les énumérations, la boucle "for each", les nombre d'arguments variables (vargs), ou la conversion automatique entre les types primitifs et leurs classes enveloppes.
  • Java SE 6 (2006)
  • Java SE 7 (2011)

Ressources


Livres


A voir également :

Ce document intitulé «  Java  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.