Sejarah Singkat Perkembangan JAVA
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 benar-benar 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.
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.
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.
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 tahapdan
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.
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 tipr run-time dalam Java adalah langsung
(straigtforward).
0 komentar:
Posting Komentar