Pada 1991,
sekelompok insinyur Sun
dipimpin oleh Patrick
Naughton dan James
Gosling ingin merancang bahasa komputer untuk
perangkat konsumer seperti cable
TV Box.
Dikarenakan perangkat tersebut
tidak memiliki banyak
memori, bahasa
harus berukuran
kecil dan mengandung kode
yang liat. Juga
karena manufaktur-
manufaktur berbeda
memilih processor yang
berbeda pula, maka
bahasa harus
bebas
dari manufaktur manapun. Proyek diberi nama kode ”Green”.
Kebutuhan untuk
fleksibilitas, kecil, liat
dan kode yang
netral terhadap platform
mengantar
tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth,
pencipta bahasa
Pascal telah merancang
bahasa portabel yang
menghasilkan
intermediate code
untuk mesin hipotesis.
Mesin ini sering
disebut dengan mesin
maya (virtual machine). Kode
ini kemudian dapat
digunakan di sembarang mesin
yang
memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi
isu
utama tentang netral terhadap arsitektur mesin.
Karena orang–orang
di proyek Green
berbasis C++ dan
bukan Pascal maka
kebanyakan
sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan
prosedural.
Mulanya bahasa yang diciptakan diberi nama
”Oak” oleh James Gosling
yang
mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya,
namun
dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang
telah ada
sebelumnya, kemudian SUN
menggantinya dengan JAVA.
Nama JAVA
sendiri terinspirasi
pada saat mereka sedang menikmati secangkir
kopi di sebuah
kedai kopi
yang kemudian dengan
tidak sengaja salah
satu dari mereka
menyebutkan kata
JAVA yang mengandung arti
asal bijih kopi.
Akhirnya mereka
sepakat
untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Produk
pertama proyek Green adalah Star 7
(*7), sebuah kendali
jarak jauh yang
sangat cerdas.
Dikarenakan pasar masih belum
tertarik dengan produk
konsumer
cerdas maka
proyek Green harus
menemukan pasar lain
dari teknologi yang
diciptakan. Pada
saat yang sama,
implementasi WWW dan
Internet sedang
mengalami perkembangan
pesat. Di lain
pihak, anggota dari
proyek Green juga
menyadari bahwa
Java dapat digunakan
pada pemrograman internet,
sehingga
penerapan
selanjutnya mengarah menjadi teknologi yang berperan di web.
Java telah
mengakomodasi hampir seluruh
fitur penting bahasa–bahasa
pemrograman
yang ada semenjak perkembangan komputasi modern manusia :
1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi
Java
sekaligus C++. Dari bahasa ini diadopsi
bentukan–bentukan dasar dari
pemrograman
berorientasi objek.
2. Dari
LISP – bahasa tahun 55-an.
Diadopsi fasilitas garbage collection,
serta
kemampuan untuk meniru
generic list processing, meski fasilitas
ini jarang
yang
memanfaatkannya.
3. Dari
Algol – bahasa
pada tahun 60-an,
diambil struktur kendali
yang
dimilikinya.
4. Dari C++, diadopsi sintaks, sebagian
semantiks dan exception handling
5. Dari bahasa Ada, diambil strongly type, dan
exception handling.
6. Dari Objective C, diambil fasilitas
interface.
7. Dari
bahasa SmallTalk, diambil
pendekatan single-root class
hiérarchie,
dimana
object adalah satu kesatuan hirarki pewarisan
8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di
sebagian JDK