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 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 :
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é...
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 :