Kadangkala orang yang paling mencintaimu adalah orang yang tak pernah menyatakan cintanya padamu kerana orang itu takut kau berpaling dan menjauhinya.. Dan bila di suatu masa hilang dari pandanganmu,,kau akan menyadari dia adalah cinta yang tidak pernah kau sadari….

Sabtu, 26 Februari 2011

Sejarah Bahasa Pemrograman Java

Pada bulan Januari 1991, beberapa orang, di antaranya James Gosling, bertemu di Aspen, Colorado untuk mendiskusikan ide untuk proyek Stealth. Tujuan utama dari proyek Stealth adalah untuk melakukan penelitian dalam bidang aplikasi komputer dalam pasar elektronik konsumen. Gambarannya adalah untuk mengembangkan peralatan elektronik konsumen yang “pintar” yang dapat dikontrol dan diprogram secara terpusat menggunakan peralatan sejenis handheld-remote-control.

Proyek Stealth kemudian berubah nama menjadi proyek Green. Anggota-anggotanya saling membagi tugas. James Gosling mendapat tugas untuk memilih bahasa pemrograman yang cocok untuk proyek. Gosling memulai dengan C++, tetapi kemudian mendapatkan bahwa C++ tidak cukup bagus untuk proyek ini. Kemudian Gosling memodifikasi C++ (yang dikenal sebagai C++ ++ –) yang awalnya masih dapat mencukupi untuk proyek. Gosling kemudian menamakan bahasa tersebut dengan nama “Oak” ketika melihat pohon Oak yang ada diluar jendela kantornya. Tetapi nama Oak kemudian ditolak karena telah dipatenkan sebagai nama suatu bahasa pemrograman lain. Ternyata sangat sulit untuk menemukan nama yang cocok untuk bahasa pemrograman yang baru ini. Akhirnya, inspirasi datang saat melakukan perjalanan ke Warung Kopi lokal. Bahasa pemrograman tersebut kemudian diberi nama Java (dengan lambang secangkir kopi panas). Tetapi beberapa orang berspekulasi bahwa nama Java berasal dari nama beberapa orang yang terlibat dalam proyek, yaitu :James Gosling, Arthur Van Hoff, Andy Bechtolsheim.

Beberapa kriteria harus dimiliki Oak agar memenuhi tujuan proyek. Oak haruslah bersifat platform independent, yaitu dapat berfungsi tanpa bergantung pada tipe CPU dari peralatan. Untuk itu, Oak harus didesain sebagai bahasa interpreter, karena mustahil untuk mengkompilasi semua versi untuk semua platform. Karena Oak sudah didesain sebagai bahasa kompiler, maka Oak kemudian dikonversi menjadi berbentuk byte-code, yaitu dalam pengertian kasar adalah setengah terkompilasi. Byte-code tersebut mudah dikirim ke jaringan dan dieksekusi dan diinterprete secara dinamis.

Oak juga harus tahan uji (reliability). Jadi Oak harus meminimalkan kesalahan pemrograman. Oleh sebab itu, Oak menghilangkan beberapa konsep C++, yaitu multiple-inheritance, operator overloading. Oak juga menanamkan teknologi baru, yaitu implicit garbage collection yang membuat penggunaan memori lebih efisien dan lebih tahan uji.

Masalah keamanan juga penting. Oleh sebab itu, Oak menghilangkan fasilitas pointer. Penggunaan pointer merupakan sumber bug terbesar dalam pemrograman C++ karena dapat menyebabkan program jahat untuk mengakses alamat memori secara sembarang.

Oak juga haruslah sederhana (simple) dalam pengertian mudah untuk dipelajari dan pengembangan program tidak sulit. Oleh karena itu, Oak mengadopsi gaya bahasa C++ yang saat itu banyak dikuasai oleh programmer. Banyak programmer yang malah menyebut Java sebagai versi sederhana dari C++. Ada pula yang menyebut Java adalah C++ yang “benar”.

Bulan April 1991, Ed Frank bergabung ke proyek Green dan memegang masalah perangkat keras (hardware). Dua bulan kemudian, mereka berhasil mengembangkan peralatan yang dinamakan star-seven (*7). Sementara itu, Gosling memulai mengerjakan interpreter Oak. Bulan Agustus 1991, mereka mendemonstrasikan *7 di hadapan para pendiri Sun, yaitu Scott McNealy dan Bill Joy. *7 merupakan peralatan berbentuk seperti PDA yang berfungsi sebagai remote kontrol untuk telepon. Namun peralatan *7 tidak sukses.

Bulan November 1992, proyek Green bekerja dibawah perusahaan FirstPerson, namun Java tidaklah sukses di industri elektronik. Kemudian dalam pengaruh Sun, perusahaan mulai mengevaluasi misinya. Awal tahun 1993, Time-Warner mengeluarkan RFP (semacam permintaan proposal) untuk sistem operasi set-top-box, yang interaktif dan berteknologi video-on-demand. FirstPerson kemudian melihat ini sebagai peluang pasar baru. Akan tetapi malah SGI yang dikontrak oleh TimeWarner. Pertengahan 1993, Sun memulai negosiasi dengan 3DO untuk menyediakan OS berbasis Java untuk set-top-box milik 3DO. Namun negosiasi tidak berhasil. FirstPerson tidak pernah menghasilkan prospek bisnis apapun. Semua usaha perusahaan untuk memasarkan teknologi TV interaktif gagal ketika peluncuran publik bulan Februari 1994 dibatalkan. FirstPerson kemudian ditangani oleh petinggi Sun. FirstPerson berusaha mengembangkan aplikasi CD-ROM dan online berbasis OAK, namun Sun tidak menyetujuinya. Akhirnya FirstPerson dibubarkan dan kebanyakan pekerjanya berpindah ke Sun Interactive untuk mengerjakan server data video digital. Namun beberapa dari mantan FirstPerson masih terus mencari obyek yang cocok untuk Java.

Bulan Juni 1994, Bill Joy memulai proyek “LiveOak” yang dimulai dengan membangun sistem operasi mini. Bulan Juli 1994, Naughton mendapat ide untuk meletakkan LiveOak ke dunia Internet saat dia sedang menulis aplikasi web browser. Ini merupakan titik balik bahasa Java.

World Wide Web (WWW) merupakan tempat yang sangat cocok untuk Java. WWW memerlukan kriteria seperti tahan uji, aman, dan bebas arsitektur yang semua terpenuhi oleh desain Java. September 1994, Naughton dan Jonathan Payne (teknisi Sun) mulai menulis “WebRunner”, yaitu web browser basis Java, yang kemudian dinamakan “HotJava”. Oktober 1994, HotJava didemonstrasikan ke petinggi Sun. Kali, ini potensi Java di WWW diakui dan proyek didukung penuh.

Sun kemudian secara formal meluncurkan Java dan HotJava di SunWorld ’95. Tak lama kemudian, Pada Tahun 1995 Netscape Inc. mengumumkan bahwa mereka akan mensupport Java dalam browsernya. Ini merupakan kemenangan bagi Java karena didukung oleh browser terpopuler di dunia saat itu. Kemudian, microsoft juga mengumumkan dukungan mereka atas Java untuk browser Internet Explorer yang membuat peranan Java menjadi solid di WWW. Setelah itu diikuti oleh IBM, Symantec, Insprise, bahkan Microsoft.

Setelah itu gaung Java mulai terdengar, berbagai industri telah meliriknya. Dengan strategi terbukanya, banyak industri yang menyambutnya. Bersamaan itu disusul berbagai universitas Amerika, Jepang dan Eropa yang mengubah pengenalan bahasa pemrograman komputer menjadi Java meninggalkan C++. Java lebih sederhana dan telah mengakomodasikan hampir seluruh fitur penting bahasa-bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :

  • Meminjam gagasan pemrograman berorientasi objek yang sebenarnya telah bermula di bahasa Simula tahun 1967-an. Pada bahasa Java, kelas menjadi bentukan terpenting dalam membangun dan mengembangkan kemampuan-kemampuan bahasa untuk membuat sangat beragam aplikasi mandiri, applet di web browser, multitheading, aplikasi jaringan, aplikasi tersebar, servlet di web browser, atau sebagai pembentuk komponen gunaulang JavaBeans atau Enterprise di application server, dan sebagainya. Seluruhnya dikemas sebagai kelas. Perluasan kemampuan dengan pembuatan kelas baru spesifik.
  • Meminjam struktur kendali ampuh bahasa C yaitu paduan struktur teratur bahasa Pascal, Ada dan Algo ditambah kendali transfer eksekusi seperti break, continue, return, struktur loop ampuh C/C++ dan sebagainnya.
  • Meminjam gagasan interface bahasa objective C untuk penanganan multiple inheritance dan pemisahan total implementasi dan antarmuka sehingga benar-benar meniadakan ketergantungan implementasi dan antarmuka secara total.
  • Bahasa Ada, diambil strongly type yang handal dalam aplikasi kritis.
  • Meminjam penanganan exceeption handling di C++ dan Ada
  • Dari bahasa Smaltalk, diambil pendekatan single-root class hirarchy, dimana objek adalah satu kesatuan hirarki pewarisan.
  • Meminjam sangat banyak sintaks dan simantiks C++, namun secara berani menyederhanakan sehingga mempermudah pemrograman serta menghilangkan fasilitas-fasilitas yang redundan dan sering menimbulkan kesalahan pemakaian.
  • Dari LISP – bahasa tahun 55-an, diambil fasilitas garbage collection, serta kemampuan untuk meniru fasilitas generic list processing, meski fasilitas terakhir jarang yang memanfaatkannya.
  • Dari Algo – bahasa tahun 60-an, diambil struktur kendali yang dimilikinya.
  • Mengimplementasikan struktur modularitas modern pustaka bahasa yng dinyatakan kriteria-kriterianya oleh Bertrand Mayer.
  • Meminjam kemampuan-kemampuan dan gagasan-gagasan canggih di Simula, CLU, LISP, CLOS, Smalltalk, Pascal, Eiffel, C/C++, Objective C dan bahasa-bahasa sebelumnya secara cerdas.
  • Dari bahsa Eiffel, fasilitas assertion mulai diterapkan sebagian di JDK 1.4
  • Dan sebagainya.

Sebagai bahasa yang menampung seluruh kemampuan terbaik bahasa pemrograman yang pernah dikembangkan umat manusia, maka bahasa ini memang menjadi tidak mudah, sedikit rumit dan komplek. Namun demikian, kita pantas sedikit berusaha agar dapat menguasai salah satu kakas terampuh yang dibuat umat manusia, yaitu bahasa pemrograman modern komputer yang ampuh.

Tidak ada komentar:

Posting Komentar