Google

Minggu, 06 April 2008

Java

Java adalah sebuah bahasa pemrograman dan juga sebuah platform. Sebagai sebuah bahasa pemrograman tingkat tinggi, Java adalah sebuah bahasa berorientasi objek (object oriented programming). Jika anda pernah memprogram dengan bahasa pemrograman OOP , seperti C++ atau Smalltalk , mungkin anda ingat betapa menyenangkannya memprogram dengan konteks objek. Anda merancang beberapa objek satu demi satu dengan mendefinisikan berbagai property yang dimiliki object tersebut dan pekerjaan (task) yang dapat ditangani oleh objek tersebut. Kemudian anda merangkai semua objek tersebut dengan mendefinisikan relasi antar objek tersebut seperti halnya membangun sebuah mobil dari komponen-komponennya.

Belakangan ini , mungkin anda akrab dengan slogan "reusable of code". "Reuse of code" ini bukanlah cut & paste (tapi harus diakui cut & paste memang sangat menyenangkan). Yang dimaskud dengan "reuse of code" ini adalah suatu keadaan dimana para programmer untuk membangun sebuah objek dengan mengextend objek-objek yang telah ada secara mudah. Secara mudah disini adalah , programmer itu mungkin tidak perlu tahu dengan kode-kode dari objek yang ingin ia extend , yang ia butuhkan hanyalah pengetahuan mengenai property dari objek itu dan hal-hal yang dapat dilakukan oleh objek itu.

Selain itu Java, sebagai bahasa pemrograman, akan mempermudah tugas kita dalam merancang sebuah program yang mendukung multithreading. Ada banyak kasus dimana kita benar-benar membutuhkan multithreading atau dimana multithreading dapat membuat pemecahan masalah menjadi lebih efisien.Sebagai contoh sederhana adalah dalam aplikasi mail client yang anda pakai. Saat anda mendowload mail dari server, anda mungkin tidak ingin menunggu sampai semua mail berhasil didownload, baru anda dapat membacanya. Beberapa mail client memungkinkan anda untuk membaca-baca dan membrowsing mail-mail yang sudah berhasil didownload. Dan pada saat yang bersamaan , program itu tetap mendownload mail-mail yang tersisa di server. Bahkan pada saat yang itu juga anda dapat melihat animasi bumi berotasi di pojok layar anda. Semua itu, mendownload mail – membrowsing mail – dan animasi, adalah proses-proses kelas ringan (ligthweight process) dalam aplikasi mail client itu. Proses-proses itu dikenal dengan istilah thread. Ide multithreading adalah membagi-bagi waktu pemrosesan CPU dan menjadwalkannya bagi masing-masing thread itu. Jika system operasinya dapat memanfaatkan multi-processor, maka thread-thread akan didistribusikan kepada semua prosesor, dan semua proses itu akan berjalan paralel.