Jumat, 15 April 2011

Perbedaan Java dengan C++

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, mengembang-kan bahasa pemrograman C. Untuk itu prosedur bahasa pemro-graman 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.

¨      Java pada awalnya dirancang untuk mendukung jaringan kom-puter. 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 pengembangan bahasa pemrograman Java dengan bahasa pemrograma C++, mengakibatkan perbedaan prinsip dan per-bedaan desain atara masing-masing bahasa pemrograman tersebut.


C++
Java
Kurang lebih kompatibel dengan bahasa sumber (source code) bahasa C.
Didisain dari awal tidak kompatibel dengan bahasa pemrograman manapun.
Memungkinkan panggilan langsun ke sistem perpustakaan asli (native system libraries).
Panggilan melalui Java Native Interface.
Dijalankan dengan fasilitas sistem keamanan yang rendah.
Dijalankan dengan mesin virtual yang aman (terlindungi).
Mendukung aritmatik yang tak ter-daftar.
Tidak mendukung aritmatik yang tak terdaftar.
Tidak ada batasan standard atau ukuran untuk semua jenis tipe data numerik. Hanya diberikan ukuran relatif.
Pembatasan stardard dan ukuran untuk semua jenis data.
Parameter yang digunakan dapat dengan value, pointer atau refe-rence.
Parameter yang digunakan selalu dengan value, walaupun objek diakses melalui references akan diubah ke value terlebih dulu, tidak langsung dari objek tersebut.
Pengaturan memory melalui pihak ketiga yang menyediakan pengum-pulan sampah (garbage collection).
Pengumpulan sampah secara otomatis, walaupun demikikan secara manual dapat diatur oleh programmer.
Standard Library C++ mempunyai lebih banyak pengaturan dan fungsi dari standard library pada Java.
Standard Library Java berkembang sesuai masing-masing release/ versi.
Pewarisan majemuk.
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 kare-nanya lebih mudah dipelajari).

1 komentar:

  1. C++ : Mendukung aritmatik yang tak ter-daftar.

    Java : Tidak mendukung aritmatik yang tak terdaftar.

    Maksudnya aritmatik yang tidak terdaftar seperti apa ya? contohnya kayak gimana? thx..

    BalasHapus