Sintaks bahasa yang digunakan dalam Java merupakan pengembangan dari bahasa C/C++.Hal ini dilakukan karena bahasa C/C++ merupakan bahasa pemrograman yang telah dikenal oleh banyak pemrogram sehingga mempelajari Java seharusnya bukan merupakan sesuatu yang sulit. Selain itu, bahasa C/C++ juga telah dikenal sebagai bahasa yang handal, bahkan dapat dikatakan era pemrograman modern dimulai oleh bahasa C yang kemudian diteruskan oleh C++ dengan paradigma pemrograman berorientasi objeknya yang terkenal. Segala kelebihan bahasa C/C++ inilah yang dikembangkan lebih lanjut di dalam bahasa Java.
Berikut ini adalah rangkuman kelebihan dari bahasa Java dibandingkan dengan bahasa pemrograman lainnya
- Bersifat portable dan platform independent. Program Java yang ditulis akan dapat dieksekusi di platform manapun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia.
- Memiliki garbage collection yang dapat mendealokasi memori secara otomatis. Tidak perlu secara eksplisit membebaskan suatu lokasi memori yang dipakai karena ini akan dilakukan secara otomatis oleh Java.
- Menghilangkan pewarisan berganda yang terdapat pada C++. Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian daripada keuntungan. Java telah didesain sedemikian rupa sehingga teknik ini tidak akan diperlukan dalam pembuatan program apapun.
- Mengurangi pointer aritmatik. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan, untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
- Mengurangi kerancuan antara pemberian nilai pada conditional statement. Contohnya, pada penggunaan tanda “=” dengan “==” pada kondisi If
KELEMAHAN JAVA
Selain kelebihannya, Java juga memiliki kelemahan antara lain :
- Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain dalam Java. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
- 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.
- Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal.
Sumber : Sk.lab.gunadarma.ac.id
Tidak ada komentar:
Posting Komentar