Kelebihan :
1. Berorientasi objek
Java adalah bahasa
pemrograman yang berorientasi pada objek. Java membagi program menjadi
objek-objek serta memodelkan sifat dan tingkah laku masing-masing dalam
menyelesaikan suatu masalah.
2. Java bersifat multiplatform Java
dirancang untuk mendukung aplikasi yang dapat beroperasi di lingkungan jaringan
berbeda. Untuk mengakomodasi hal tersebut, Java compiler membangkitkan
bytecodes (sebuah format yang tidak tergantung pada arsitektur tertentu yang
didesain untuk mengirimkan kode ke banyak platform perangkat keras dan
perangkat lunak secara efisien). Java dapat dijalankan oleh banyak platform
seperti Linux, Unix, Windows, Solari, maupun Mac.3. Java bersifat multithread, Multithreading adalah
kemampuan suatu program komputer untuk mengerjakan beberapa proses dalam suatu
waktu. Thread dalam Java memiliki kemampuan untuk memanfaatkan kelebihan multi
prosessor apabila sistem operasi yang digunakan mendukung multi prosessor.
4. Dapat didistribusi dengan
mudah
Java memiliki library rutin
yang lengkap untuk dirangkai pada protocol TCP/IP (seperti HTTP dan FTP) dengan
mudah. Kemampuan networking Java lebih kuat dan lebih mudah digunakan. Java
memudahkan tugas pemrograman jaringan yang sulit seperti membuka dan mengakses
sebuah soket koneksi. Java juga mamudahkan pembuatan CGI (Common Gateway
Interface).
5. Bersifat dinamis
Java dirancang untuk
beradaptasi dengan lingkungan yang sedang berkembang. Java bersifat dinamis
dalam tahap linking. Class yang ada dapat di link sebatas yang diperlukan,
apabila diperlukan modul kode yang baru dapat di link dari beberapa sumber,
bahkan dari sumber dalam jaringan Internet.
Kekurangan :
1. Tulis sekali,
jalankan di mana saja – Masih ada beberapa hal yang tidak kompatibel antara platform satu
dengan platform lain. Untuk J2SE,
misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2. Mudah didekompilasi.
Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini
dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak
atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
Hal yang sama juga terjadi pada Microsoft
.NET Platform. Dengan demikian, algoritma yang digunakan program
akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang
banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada
bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih
spesifik lagi, Delphi dan Object Pascal).
Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi
terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah
bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari
4 tahun.
Tidak ada komentar:
Posting Komentar