Cari Blog Ini

Jumat, 21 Januari 2011

SEJARAH 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 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 benarbenar
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).

Tidak ada komentar:

Posting Komentar