Bahasa pemrograman Java terlahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut
belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori
oleh Patrick Naughton, Mike Sheridan, James Gosling
dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun
Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung
di sebuah gedung perkantoran Sand Hill
Road di Menlo Park. Sekitar musim
panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan
sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA
sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era
Star Seven selesai, sebuah anak
perusahaan Tv kabel
tertarik ditambah beberapa orang dari proyek The Green Project. Mereka
memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini
bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi
70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet
sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal
tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di
kalangan akademisi dan militer.
Mereka menjadikan perambah
(browser) Mosaic sebagai landasan
awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi
dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner
berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali
kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk
pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei
1995.
Sayang
terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah
ruangan hotel Sheraton Palace. Tiga dari
pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun
Microsystems bersama Marc Andreessen, membentuk
Netscape.
Nama Oak, diambil dari pohon
oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling.
Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat
lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama
penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling
langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari
Pulau Jawa.
Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa
Inggris untuk Jawa adalah Java).
Versi
Awal
Versi awal Java ditahun 1996 sudah merupakan versi
release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak
paket standar awal yang terus dikembangkan pada versi selanjutnya:
- java.lang: Peruntukan kelas elemen-elemen dasar.
- java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
- java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
- java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
- java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
- java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
Kelebihan
- Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
- OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
- Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
- Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
- Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan
- Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
- Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
- Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh
Kode Program Sederhana Dalam Java
Contoh program Halo dunia
yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello,
world!" and then exits
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello,
world!");
}
}
Tahap Kompilasi Java
- Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
- Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
- Muat. Pemuat kelas memuat bytecodes ke memori.
- Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
- Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’.
Integrated Development
Environment
Banyak
pihak telah membuat IDE
(Integrated Development Environment
- Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli
2006) antara lain:
- Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, Amerika Serikat
- BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia
- NetBeans (open source- Common Development and Distribution License (CDDL))
NetBeans disponsori Sun
Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang
menurut pendapat umum merupakan yang terbaik.
- Eclipse JDT (open source- Eclipse Public License)
Eclipse dibuat dari kerja sama antara
perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu
lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM,
BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE.
Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE
lainnya.
- IntelliJ IDEA (commercial, free 30-day trial)
- Oracle JDeveloper (free)
- Xinox JCreator (ada versi berbayar maupun free)
JCreator ditulis dalam C/C++
sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan
IDE.
Pranala
luar
- (Inggris) Situs resmi Java Sun
- (Inggris) Java.net Wiki
- (Inggris) Sejarah Java
- (Indonesia) Kumpulan Tips Pemrograman Java
- (Inggris) Decompiler-HOWTO
- (Inggris) Full Java Tutorial
- (Inggris) Learn Java Programming by Examples
- (Indonesia) Tutorial Video Pemrograman Java