Java pertama lahir 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.Pada perkembangan selanjutnya, proyek ini diberi 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 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. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemeritaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Java pertama kali diluncurkan pada tahun 1995 sebagai bahasa pemrograman umum (general purpose programming language) dengan kelebihan dia bisa dijalankan di web browser sebagai applet.
Sejak awal, para pembuat Java telah menanamkan visi mereka ke dalam Java untuk membuat piranti-piranti yang ada di rumah (small embedded customer device) seperti TV, telepon, radio, dan sebagainya supaya dapat berkomunikasi satu sama lain. Tentu saja jalan menuju visi ini tidak mudah untuk ditemukan apalagi untuk ditempuh. Langkah pertama yang diambil oleh Sun Microsystem adalah dengan membuat JVM (Java Virtual Machine) yang kemudian diimplementasikan dalam bentuk JRE (Java Runtime Environment). JVM adalah lingkungan tempat eksekusi program Java berlangsung dimana para objek saling berinteraksi satu dengan yang lainnya. Virtual Machine inilah yang menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar.
Apabila kita hanya ingin menjalankan program Java, maka kita cukup memiliki JRE saja. Tapi seandainya kita ingin mengembangkan perangkat lunak sendiri, JRE saja tidak cukup. Untuk lebih meningkatkan produktivitas pengembang perangkat lunak, Sun juga meluncurkan SDK (Standard Development Kit) yang berisi kakas dan API untuk membuat program aplikasi berbasis Java. Pada tahun 1999 Sun meluncurkan J2EE (Java 2 Enterprise Edition) sebagai framework untuk membuat aplikasi enterprais berskala besar. Pada tahun 2001, Sun meluncurkan J2ME yang kelak menjadi salah satu standar pemrograman di dalam PDA maupun handphone. Komunitas OpenSource sendiri mempunyai platform yang disebut dengan Jini untuk merealisasikan visi awal dari Java
Kelebihan Java
Mengapa Java sering dibicarakan dan memiliki daya tarik bagi para programmer? Karena Java merupakan suatu teknologi yang unik dan revolusioner dan merupakan teknologi pertama di dunia software yang memiliki semboyan “write once, run anywhere”. Semboyan tersebut telah terbukti karena banyak program Java dapat dijalankan di berbagai platform Sistem Operasi, seperti Linux, Windows maupun Unix.
Java telah mengatasi masalah portabilitas yang sering menjadi kendala dan hambatan dalam pembuatan suatu aplikasi software. Mengapa? Karena software developer harus mengeluarkan banyak tenaga, pikiran dan waktu untuk menghasilkan aplikasi yang dapat berjalan di operating system atau platform lain. Java dapat mengatasi kendala tersebut karena program Java dapat dijalankan secara langsung tanpa banyak perubahan berarti di sistem operasi atau platform lain. Java juga didesain untuk menghasilkan program dengan seminimal mungkin bug karena kemampuan sebagai berikut :
Karakteristik Java
Secara singkat, karakteristik Java adalah :
Sejak awal, para pembuat Java telah menanamkan visi mereka ke dalam Java untuk membuat piranti-piranti yang ada di rumah (small embedded customer device) seperti TV, telepon, radio, dan sebagainya supaya dapat berkomunikasi satu sama lain. Tentu saja jalan menuju visi ini tidak mudah untuk ditemukan apalagi untuk ditempuh. Langkah pertama yang diambil oleh Sun Microsystem adalah dengan membuat JVM (Java Virtual Machine) yang kemudian diimplementasikan dalam bentuk JRE (Java Runtime Environment). JVM adalah lingkungan tempat eksekusi program Java berlangsung dimana para objek saling berinteraksi satu dengan yang lainnya. Virtual Machine inilah yang menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar.
Apabila kita hanya ingin menjalankan program Java, maka kita cukup memiliki JRE saja. Tapi seandainya kita ingin mengembangkan perangkat lunak sendiri, JRE saja tidak cukup. Untuk lebih meningkatkan produktivitas pengembang perangkat lunak, Sun juga meluncurkan SDK (Standard Development Kit) yang berisi kakas dan API untuk membuat program aplikasi berbasis Java. Pada tahun 1999 Sun meluncurkan J2EE (Java 2 Enterprise Edition) sebagai framework untuk membuat aplikasi enterprais berskala besar. Pada tahun 2001, Sun meluncurkan J2ME yang kelak menjadi salah satu standar pemrograman di dalam PDA maupun handphone. Komunitas OpenSource sendiri mempunyai platform yang disebut dengan Jini untuk merealisasikan visi awal dari Java
Kelebihan Java
Mengapa Java sering dibicarakan dan memiliki daya tarik bagi para programmer? Karena Java merupakan suatu teknologi yang unik dan revolusioner dan merupakan teknologi pertama di dunia software yang memiliki semboyan “write once, run anywhere”. Semboyan tersebut telah terbukti karena banyak program Java dapat dijalankan di berbagai platform Sistem Operasi, seperti Linux, Windows maupun Unix.
Java telah mengatasi masalah portabilitas yang sering menjadi kendala dan hambatan dalam pembuatan suatu aplikasi software. Mengapa? Karena software developer harus mengeluarkan banyak tenaga, pikiran dan waktu untuk menghasilkan aplikasi yang dapat berjalan di operating system atau platform lain. Java dapat mengatasi kendala tersebut karena program Java dapat dijalankan secara langsung tanpa banyak perubahan berarti di sistem operasi atau platform lain. Java juga didesain untuk menghasilkan program dengan seminimal mungkin bug karena kemampuan sebagai berikut :
- Java didesain untuk menghilangkan alokasi memori dan dealokasi memori secara manual. Java memiliki garbage collection otomatis yang mencegah adanya memory leak. Memory leak adalah masalah yang sering dihadapi programmer c dan c++ dimana memori yang digunakan untuk objek atau variabel yang sudah tidak digunakan tidak didealokasikan sehingga memungkinkan adanya kehabisan memori karena proses alokasi maupun dealokasi yang tidak diatur dengan baik.
- Java memiliki array yang tidak memerlukan pointer sehingga memudahkan para programmer.
- Java menghilangkan banyak kebingungan terjadi apabila terjadi proses assignment(pemberian nilai) pada statemen konditional seperti berikut:
- If (varnya=5) Kode di atas menyebabkan program Java tidak dapat dikompilasi karena Java membedakan tanda = yang digunakan untuk pemberian nilai dan untuk pengecekan kondisi true atau false yang harus menggunakan tanda = ganda (==).
- Java menghilangkan multiple inheritance pada c++ dan menggunakan interface yang memiliki kemampuan sama tetapi lebih sederhana.
Karakteristik Java
Secara singkat, karakteristik Java adalah :
- Sederhana
- Berorientasi objek
- Dapat didistribusikan dengan mudah
- Aman
- diinterpretasi oleh interpreter
- Portabel
- Multithreading
- Dinamik
- netral terhadap arsitektur hardware
- Robust
