Oak est un langage de programmation inventé par James Gosling en 1991. Initialement créé pour le projet de décodeur TV de Sun Microsystems, ce langage est aujourd'hui abandonné pour son évolution : Java.
Le nom Oak a été choisi par Gosling en regardant un chêne qui se trouvait à l'extérieur de son bureau.

En 1995, l'entreprise Sun Microsystems tentait de créer une nouvelle technologie pour programmer des appareils intelligents de nouvelle génération, car Sun jugeait que ceci était une nouvelle opportunité majeure.
L'équipe de développement a tout d'abord envisagé d'utiliser le langage de programmation C++, mais a rejeté l'idée pour plusieurs raisons (voir l'historique de Java).
Au départ, Gosling a tenté de modifier et d'étendre les fonctionnalités du C++. Par la suite, il a rapidement abandonné l'idée et a créé une nouvelle plate-forme appelée Green munie d'un nouveau langage qu'il a appelé Oak, d'après l'arbre qui se trouvait juste à l'extérieur de son bureau.
Durant l'été 1992, l'équipe de développement a pu présenter des parties de la nouvelle plate-forme, notamment le système d'exploitation Green OS, le langage de programmation Oak, les bibliothèques logicielles et le matériel de leur machine. Leur première tentative, démontrée le , s'est concentrée sur la construction d'un PDA nommé Star7 : Celui-ci avait une interface graphique et un agent intelligent appelé "Duke" pour aider l'utilisateur (A la manière de Clippy).
Oak a finalement été renommé Java en 1994 car Oak était une marque déposée déjà utilisé par l'entreprise Oak Technology. Ainsi c'est sous le nom de Java 1.0 en 1996 que fut livré le logiciel.
Oak a servi de base à Java 1.0, mais il a cependant quelques différences,. Plusieurs concepts pourtant planifiés dans les spécifications de Oak n'ont pu être implémentés en raison de contraintes de temps :
D'autres concepts ont été améliorés plus tard pour Java :
Et finalement, certains concepts ont été supprimés par la suite :