Bahasa pemrograman java memiliki banyak kelebihan, beberapa diantaranya seperti dibawah ini :
- Berorientasi objek (Object Oriented Programming). Dengan ciri-ciri sebagai berikut
- Abstraction : menandai masing-masing objek dengan karakteristik yang unik sehingga mudah dibedakan dan dipahami.
- Encapsulation : memisahkan elemen-elemen yang menyusunnya. Dengan menyembunyikan detail dari class; memaksa user untuk menggunakan interface dalam mengakses data; membuat code lebih mudah di-maintain.
- Inheritance : sebuah objek memerlukan properti dari objek yang lain.
- Polymorphism : membuat objek menjadi modular sehingga mudah untuk dipindah/dipakai lagi.
- Open platform/portable maksudnya ialah Dapat digunakan pada platform yang berbeda (Windows, Linux/UNIX, Solaris, Macintosh, etc) tanpa harus dilakukan perubahan. Java juga merupakan bahasa yang paling sesuai digunakan bersama XML, sehingga data menjadi portable
- Java sebagai bahasa, platform dan sekaligus arsitektur. Java memiliki fleksibilitas dan portabilitas yang sangat tinggi. Java dapat berada pada smartcard, handphone, PDA, Palm, TV, embedded device, etc.
- Multi-threading. Dalam program yang sama, memungkinkan untuk dilakukaan banyak thread secara independen dan kontinyu dalam sebuah eksekusi program.
- Automatic garbage collection. Fitur ini dapat membersihkan objek yang tidak terpakai dari memori.
- Secure. Java memang didisain untuk eksekusi yang aman pada jaringan. Banyak fhtur-fitur C dan C++ yang dieliminasi, seperti pointer. Dan pada Java, program tidak dapat mengakses arbitrary memory.
- Pemulaan yang mudah dan cepat : Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++
- Lebih sedikit menggunakan program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++
- Dapat membuat program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat program yang baik, dan automatic garbage collection membantu Anda untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda menggunakan kode yang ada.
- Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.
- Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis spesifik untuk platform tertentu.
- Tulis sekali, bisa jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara konsisten pada platform apa saja.
- Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi secara otomatis.
Bahasa Java yang berkembang dapat dikategorikan menjadi :
- Java Micro Edition (JME). Khusus untuk aplikasi skala kecil, dan biasa digunakan untuk membuat aplikasi pada PDA atau mobile divice dan wireless lain. Contoh keluaran Sun adalah J2ME.
- Java Standart Edition (JSE). Ini yang biasa dikenal dengan bahasa Java. Banyak subset dari JSE untuk aplikasi yang berbeda-beda. Misalnya untuk networking, database, web, security, dll
- Java Enterprise Edition (JEE). Untuk aplikasi skala makro dengan kompleksitas tinggi. Aplikasi ini berbasis web.
- Java Card (JC). Untuk aplikasi khusus diimplementasikan pada pemrograman java
Kelemahan pada Java :
- J2ME : membuat aplikasi J2ME adalah sebuah proses yang sangat susah, kita harus develop aplikasi sendiri, dengan API sendiri untuk setiap handset, secara dukungan handset atas J2ME tidak ada yang sama.
- SWING : Sangat lambat, API nya membingungkan, dan tampilanya sangat berbeda dengan environment yang ada. Coba aja, bikin aplikasi di Swing untuk membuat tray icon di windows.
- XML : kalau anda membuat aplikasi J2EE,anda harus selalu ngedit file bla2.xml, ini menambah waktu pengerjaan.
- Mudah didekompilasi : Dekompilasi yaitu sebuah 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 direverse-engineer dengan kata lain yaitu dibajak.
- Menggunakan memori yang cukup banyak : Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal.
Tidak ada komentar:
Posting Komentar