PERBEDAAN TUJUAN PENDESAINANNYA :
Perbedaan antara bahasa pemrograman Java dengan bahasa pemrograma C++ dapat ditelusuri dari sistem pewarisannya, karena mereka memiliki desain yang berbeda tujuannya :
- C++ didisain tertutama untuk sistem pemrograman, mengembangkan bahasa pemrograman C. Untuk itu prosedur bahasa pemrograman didisain untuk eksekusi program yang lebih efisien, pada C++ telah ditambahkan penunjang untuk program berorientasi objek dengan jenis statis, kecuali dalam hal pengendaliannya, mencakup pengaturan sumber daya dan pemrograman generik, khsususnya juga ditambahkan ”standard library” termasuk algoritma dan isi program generik. Universitas Gunadarma Rr. Artiana Krestianti AMP C (Pengenalan Java) Bab 1 Hal 7 dari 8
- Java pada awalnya dirancang untuk mendukung jaringan komputer. Java dipercaya sebagai mesin virtual yang aman dan sangat mudah. Java dibendel dengan desain library yang luas untuk menyediakan abstraksi yang lengkap dari suatu platform. Java adalah bahasa pemrograman berorientasi objek berjenis statis yang penggunaan syntaxnya mirip dengan bahasa pemrograman C, tapi tidak kompatibel dengannya. Java didisain dari awal, dengan tujuan agar mudah digunakan dan dapat diakses oleh khalayak yang lebih luas.
PERBEDAAN TUJUAN PENGEMBANGANNYA :
Perbedaan tujuan pengembangan bahasa pemrograman Java dengan bahasa pemrograma C++, mengakibatkan perbedaan prinsip dan perbedaan desain antara masing-masing bahasa pemrograman tersebut.
Perbedaan tujuan pengembangan bahasa pemrograman Java dengan bahasa pemrograma C++, mengakibatkan perbedaan prinsip dan perbedaan desain antara masing-masing bahasa pemrograman tersebut.
C++
- Kurang lebih kompatibel dengan bahasa sumber (source code) bahasa C.
- Memungkinkan panggilan langsung ke sistem perpustakaan asli (native system libraries).
- Dijalankan dengan fasilitas sistem keamanan yang rendah.
- Mendukung aritmatik yang tak terdaftar.
- Tidak ada batasan standard atau ukuran untuk semua jenis tipe data numerik. Hanya diberikan ukuran relatif.
- Parameter yang digunakan dapat dengan value, pointer atau reference.
- Pengaturan memory melalui pihak ketiga yang menyediakan pengumpulan sampah (garbage collection).
- Standard Library C++ mempunyai lebih banyak pengaturan dan fungsi dari standard library pada Java.
- Pewarisan majemuk.
Java
- Didisain dari awal tidak kompatibel dengan bahasa pemrograman manapun.
- Panggilan melalui Java Native Interface.
- Dijalankan dengan mesin virtual yang aman (terlindungi).
- Tidak mendukung aritmatik yang tak terdaftar.
- Pembatasan stardard dan ukuran untuk semua jenis data.
- Parameter yang digunakan selalu dengan value, walaupun objek diakses melalui references akan diubah ke value terlebih dulu, tidak langsung dari objek tersebut.
- Pengumpulan sampah secara otomatis, walaupun demikikan secara manual dapat diatur oleh programmer.
- Standard Library Java berkembang sesuai masing-masing release/versi.
- Pewarisan tunggal, bila dibutuhkan pewarisan majemuk hanya dapat melalui interface.
Bahasa pemrograman C++ sangat tangguh tetapi rumit, sedangkan bahasa pemrograman Java dirancang lebih sederhana (dan oleh karenanya lebih mudah dipelajari).
PERBEDAAN UMUM :
Pada Java, manajemen memory dinamis dan pointer dilakukan secara otomatis. Otomatisasi ini menghilangkan kemungkinan bagi penggunaan pointer yang dapat merusak kestabilan program dan sistem operasi. Pada C/ C++ pemrogram melakukan sendiri alokasi dan dealokasi memory.
- Java tidak mengenal multiple inheritance seperti pada C/ C++. Multiple inheritance pada C/ C++ membingungkan dan berakibat pada sulitnya pembuatan aplikasi dan compiler. Sebagai ganti yang lebih baik, Java menggunakan interface.
- Java menggunakan bahasa OOP murni sedangkan C++ adalah bahasa OOP hybrid (dapat menggunakan model OOP maupun procedural).
- Java menggunakan model Exception dalam menangani kesalahan program.
- Java tidak menggunakan compiler-directive pada source code.
- Java memiliki fasilitas garbage collection yang bekerja secara otomatis untuk menjamin ketersediaan memory dengan membebaskan memory yang tidak terpakai lagi.
- Java sangat portable, baik file sumbernya maupun hasil kompilasinya. Hal ini berbeda dengan C/ C++ yang hanya portable pada level kode sumbernya saja, itupun dengan melakukan kodifikasi ketika dipindahkan ke platform yang berbeda.
- Spesifikasi bahasa dan implementasi Java sudah ditetapkan dan tidak mengikuti suatu mesin atau platform tertentu. Hal ini berbeda dengan C/ C++ yang sangat tergantung pada mesin dan platform yang akan digunakan.
No comments:
Post a Comment