Pada 1991, sekelompok
insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang
bahasa komput er untuk perangkat konsumer seperti cable TV Box . Karena perangkat terseb ut
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 merancan g bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering
disebut dengan mesin maya (virtual machine) . Kode ini kemudian dapat di
gunakan di sembarang mesin yang memiliki interpreter . Proyek Green menggunakan
mesin maya untuk mengatasi isu utama tentang netral te rhadap arsitektur mesin.
Karena
orang – orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan
sintaksdiambil dari C++, serta
mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang
mendapat inspirasi dari sebuah poho n yang berada pada seberang kantornya, namun
dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada
sebelumnya, kemudian SUN me nggantinya dengan JAVA. Nama JAVA sendiri
terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai
kopi yang kemudian dengan ti dak 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 menemu kan 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 sintak s, 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 objek adalah satu
kesatuan hirarki pewarisan
8.
Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan
di sebagian JDK 1.4