Proyek Java dimulai pada tahun 1991, ketika sejumlah insinyur perusahaan Sun yang dimotori oleh James Gosling mempunyai keinginan untuk mendesain sebuah bahasa komputer kecil yang dapat dipergunakan untuk peralatan konsumen seperti kotak tombol saluran TV. Proyek ini kemudian diberi nama sandi Green.
Keharusan untuk membuat bahasa yang kecil , dan kode
yang ketat mendorong mereka untuk menghidupkan kembali model yang pernah dicoba
oleh bahasa UCSD Pascal, yaitu mendesain sebuah bahasa yang
portable yang menghasilkan kode intermediate. Kode intermediate ini kemudian
dapat digunakan pada banyak komputer yang interpreternya telah disesuaikan.
Karena orang-orang Sun memiliki latar belakang sebagai pemakai unix
sehingga mereka lebih menggunakan C++ sebagai basis bahasa
pemrograman mereka, maka mereka secara khusus
mengembangkan bahasa yang berorientasi objek bukan berorientasi prosedur.
Seperti yang dikatakan Gosling ”Secara keseluruhan, bahasa hanyalah sarana,
bukan merupakan tujuan akhir”. Dan Gosling memutuskan menyebut bahasanya dengan
nama “Oak” (diambil dari nama pohon yang tumbuh tepat diluar jendela kantornya
di Sun), tetapi kemudian nama Oak diubah menjadi
java, karena nama Oak merupakan nama bahasa komputer
yang sudah ada sebelumnya.
Pada tahun 1994 sebagian besar orang menggunakan
mosaic, browser web yang tidak diperdagangkan yang berasal dari pusat
Supercomputing Universitas Illinois pada tahun 1993.( Mosaic
sebagian ditulis oleh Marc Andreessen dengan bayaran $6.85 per jam,
sebagai mahasiswa yang melakukan studi praktek. Di kemudian hari ia meraih
ketenaran sebagai salah seorang pendiri dan pemimpin teknologi di netscape)
Browser yang sesungguhnya dibangun oleh Patrick Naughton dan Jonathan Payne dan berkembang ke dalam browser HotJava yang kita miliki saat ini. Browser HotJava ditulis dalam Java untuk menunjukkan
kemampuan Java. Tetapi para pembuat juga memiliki ide tentang suatu kekuatan yang saat ini disebut dengan applet, sehingga mereka membuat browser yang mampu penerjemahkan kode byte tingkat menengah.
“Teknologi yang Terbukti” ini diperlihatkan pada SunWorld ’95 pada tanggal 23 mei 1995, yang mengilhami keranjingan terhadap Java terus berlanjut.
Kriteria “Kertas Putih” Java
Penulis Java telah menulis pengaruh “Kertas Putih” yang menjelaskan tujuan rancangan dan keunggulannya. Kertas mereka disusun lewat 11 kriteria berikut :
- Sederhana (Simple)
Syntax untuk Java seperti syntax pada C++ tetapi
syntax Java tidak memerlukan header file, pointer arithmatic (atau bahkan
pointer syntax), struktur union, operator overloading, class virtual base, dan
yang lainnya. Jika anda mengenal C++ dengan baik, maka anda dapat berpindah ke
syntax Java dengan mudah tetapi jika tidak, anda pasti tidak berpendapat bahwa
Java sederhana.
- Berorientasi Objek (Object Oriented)
Rancangan berorientasi objek merupakan suatu teknik
yang memusatkan rancangan pada data (objek) dan interface. Fasilitas
pemrograman berorientasi objek pada Java pada dasarnya adalah sama dengan C++.
Feature pemrograman berorientasi objek pada Java benarbenar sebanding dengan
C++, perbedaan utama antara Java dengan C++ terletak pada penurunanberganda
(multiple inheritance), untuk ini Java memiliki cara penyelesaian yang lebih
baik.
- Terdistribusi (Distributed)
Java memiliki library rutin yang luas untuk dirangkai
pada protokol TCP/IP sepetrti HTTP dan FTP dengan mudah. Aplikasi Java dapat
membuka dan mengakses objek untuk segala macam NET lewat URL sama mudahnya
seperti yang biasa dilakukan seorang programmer ketika mengakses file sistem
secara lokal.
- Kuat (Robust)
Java dimaksudkan untuk membuat suatu program yang
benar-benar dapat dipercaya dalam berbagai hal. Java banyak menekankan pada
pengecekan awal untuk kemungkinan terjadinya masalah, pengecekan pada saat
run0time dan mengurangi kemungkinan timbulnya kesalahan (error). Perbedaan
utama antara Java dan C++ adalah Java memiliki sebuah model pointer yang
mengurangi kemungkinan penimpaan (overwriting) pada memory dan kerusakan data
(data corrupt).
- Aman (Secure)
Java dimaksudkan untuk digunakan pada jaringan
terdistribusi. Sebelum sampai pada bagian tersebut, penekanan terutama
ditujukan pada masalah keamanan. Java memungkinkan penyusunan program
yang bebas virus, sistem yang bebas dari kerusakan.
yang bebas virus, sistem yang bebas dari kerusakan.
- Netral Arsitektur (Architecture Neutral)
Kompiler membangkitkan sebuah format file dengan objek
arsitektur syaraf, program yang di kompile dapat dijalankan pada banyak
prosesor, disini diberikan sistem run time dari Java. Kompiler Java
melakukannya dengan membangkitkan instruksi-instruksi kode byte yang tidak
dapat dilakukan oleh arsitektur komputer tertentu. Dan yang lebih baiik Java
dirancang untuk mempermudah penterjemahan pada banyak
komputer dengan mudah dan diterjemahkan pada komputer asal pada saat run-time.
komputer dengan mudah dan diterjemahkan pada komputer asal pada saat run-time.
- Portabel (Portable)
Tidak seperti pada C dan C++, di Java terdapat
ketergantungan pada saat implementasi (implement dependent). ukuran dari tipe
data primitif ditentukan, sebagaimana kelakuan aritmatik padanya. Librari atau
pustaka merupakan bagian dari sistem yang mendefinisikan interface yang portabel.
pustaka merupakan bagian dari sistem yang mendefinisikan interface yang portabel.
- Interpreter
Interpreter Java dapat meng-eksekusi kode byte Java
secara langsung pada komputer-komputer yang memiliki interpreter. Dan karena
proses linking dalam Java merupakan proses yang kenaikannya tahap demi tahap
dan berbobot ringan, maka proses pengembangan dapat menjadi lebih cepat dan
masih dalam penelitian.
- Kinerja Yang Tinggi (High Performance)
Meskipun kinerja kode byte yang di interpretasi
biasanya lebih dari memadai, tetapi masih terdapat situasi yang memerlukan
kinerja yang lebih tinggi. Kode byte dapat diterjemahkan (pada saat run-time)
de dalam
kode mesin untuk CPU tertentu dimana aplikasi sedang berjalan.
kode mesin untuk CPU tertentu dimana aplikasi sedang berjalan.
- Multithreaded
Multithreading adalah kemampuan sebuah program untuk
melakukan lebih dari satu pekerjaan sekaligus. Keuntunga dari multithreading
adalah sifat respons yang interaktif dan real-time.
- Dinamis
Dalam sejumlah hal, Java merupakan bahasa pemrograman
yang lebih dinamis dibandingkan dengan C atau C++. Java dirancang untuk
beradaptasi dengan lingkungan yang terus berkembang. Librari dapat dengan mudah
menambah metode dan variabel contoh yang baru tanpa banyak mempengaruhi klien.
Informasi tipe run-time dalam Java adalah langsung (straigtforward).
EDISI JAVA
Java adalah bahasa yang dapat di jalankan dimanapun dan disembarang platform apapun, diberagam lingkungan : internet, intranet, consumer Electronic products dan computer Applications.
The Java 2 platform tersedia dalam 3 edisi untuk keperluan
berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa java, java dipaketkan dalan edisi2 berikut :
Java adalah bahasa yang dapat di jalankan dimanapun dan disembarang platform apapun, diberagam lingkungan : internet, intranet, consumer Electronic products dan computer Applications.
The Java 2 platform tersedia dalam 3 edisi untuk keperluan
berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa java, java dipaketkan dalan edisi2 berikut :
1. Java 2 Standard Edition ( J2SE )
2. Java 2 Enterprise Edition ( J2EE )
3. Java 2 Micro Edition ( J2ME )
Masing – masing edisi berisi java 2 Software Development Kit ( J2SDK ) untuk mengembangkan aplikasi dan java 2 Runtime Environment ( J2RE ) untuk menjalankan aplikasi.
Kelebihan Java dibandingkan dengan C++
o Pembuat program java telah merancang java untuk menghilangkan pengalokasian dan dealokasi memori secara manual, karena java memiliki Garbage Collection.
o Diperkenalkannya deklarasi array yang sebenarnya dan menghilangkan aritmatika pointer. Hal ini yang sering menyebabkan memori overwrite.
o Di hilangkannya multiple inheritance, mereka menggantinya dengan interface.
Tidak ada komentar:
Posting Komentar