Perbedaan antara C++ dan Java
Perbedaan Utama antara C++ dan Java
- C++ hanya menggunakan kompiler, sedangkan Java menggunakan compiler dan interpreter keduanya.
- C++ mendukung overloading operator & overloading metode sedangkan Java hanya mendukung metode kelebihan beban.
- C++ mendukung manajemen objek manual dengan bantuan kata kunci baru dan hapus Java memiliki pengumpulan sampah otomatis bawaan.
- C++ mendukung struktur sedangkan Java tidak mendukung struktur.
- C++ mendukung serikat pekerja sementara Java tidak mendukung serikat pekerja.

Apa C++ bahasa?
C++ adalah bahasa pemrograman komputer yang mengandung fitur bahasa pemrograman C dan Simula67 (bahasa berorientasi objek pertama). C++ memperkenalkan konsep Kelas dan Objek.
Ini merangkum fitur bahasa tingkat tinggi dan rendah. Jadi, ini dipandang sebagai bahasa tingkat menengah. Sebelumnya disebut "C dengan kelas" karena memiliki semua properti bahasa C.
Apa Java bahasa?
Java adalah bahasa pemrograman yang dikembangkan oleh Sun Microsystems. Sebuah tim pengembangan perangkat lunak kecil mengembangkan bahasa ini. Mereka dikenal sebagai Tim Hijau yang memprakarsai Java bahasa pada tahun 1991.
Sejarah C++
C++ Bahasa C dikembangkan oleh Bjarne Stroustrup di AT & T Bell Laboratories. Stroustrup adalah pendukung kuat C dan pengagum Simula67. Ia ingin menggabungkan yang terbaik dari kedua bahasa tersebut. Ia bertujuan untuk menciptakan bahasa yang mendukung fitur pemrograman berorientasi objek dan tetap mempertahankan kekuatan C. Hal ini menghasilkan C++.
Sejarah Java
Java Bahasa pemrograman ini awalnya disebut OAK. Awalnya, bahasa ini dikembangkan untuk menangani perangkat dan dekoder. Oak mengalami kegagalan besar. Oleh karena itu, pada tahun 1995 Sun mengganti namanya menjadi Java dan memodifikasi bahasanya untuk memanfaatkan bisnis pengembangan World Wide Web yang sedang berkembang.
Later, pada 2009, Oracle Corporation mengakuisisi Sun Microsystems dan mengambil alih kepemilikan dua aset utama perangkat lunak Sun: Java dan Solaris.
Perbedaan antara C++ dan Java
Parameter | C++ | Java |
---|---|---|
Hubungan | Tidak ada hubungan ketat antara nama kelas dan nama file. Di dalam C++, file header dan file implementasi digunakan untuk kelas tertentu. | Hubungan ketat diberlakukan, misalnya kode sumber untuk kelas PayRoll harus di PayRoll.java. |
Mekanisme masukan | Pernyataan I/O menggunakan in dan cout, misalnya in » x; menghitung" kamu; | Mekanisme input I/O cukup kompleks karena membaca satu byte pada satu waktu (System.in). Output mudah, misalnya System.out.println(x); |
Penyusun dan Interpreter | C++ hanya mendukung kompiler | Java mendukung kompiler dan juru bahasa |
Kompatibilitas dengan bahasa lain | Kompatibel dengan kode sumber C, kecuali beberapa kasus luar biasa. | Tidak ada kompatibilitas mundur dengan bahasa sebelumnya. Sintaksisnya dipengaruhi oleh C/C++. |
Kontrol akses dan perlindungan objek | Model fleksibel dengan perlindungan konstan tersedia | Model yang rumit mendorong enkapsulasi yang lemah. |
Konsep | Tulis sekali kompilasi di mana saja | Menulis sekali berjalan kemana-mana |
Dukungan untuk jenis pemrograman | Memungkinkan pemrograman prosedural dan pemrograman berorientasi objek. | Mendukung model pemrograman berorientasi objek. |
Antarmuka | Mengizinkan panggilan langsung ke pustaka sistem asli. | Hanya menelepon melalui Java Antarmuka Asli dan baru-baru ini Java Akses Asli |
Manajemen memori | Dapat diakses oleh programmer | Sistem dikendalikan |
Hierarki root | C++ tidak ada hierarki akar seperti itu. C++ mendukung pemrograman prosedural dan berorientasi objek; oleh karena itu, ini disebut bahasa hibrida. | Java adalah bahasa pemrograman berorientasi objek murni. Itu. Mengapa Ini mengikuti hierarki root tunggal. |
Fitur terbaik | C++ mendukung fitur berorientasi objek Fitur pemrograman prosedural. | Java mendukung pengumpulan sampah otomatis. Itu tidak mendukung destruktor seperti C++ tidak. |
Pernyataan Goto | C++ memiliki pernyataan goto. Meskipun demikian, tidak ideal untuk menggunakan pernyataan goto. | Java tidak memiliki pernyataan goto. Kata kunci didapat, dan const dicadangkan meskipun tidak digunakan. |
Warisan berganda | C++ memberikan banyak Warisan. Kata kunci virtual digunakan untuk menyelesaikan masalah selama beberapa pewarisan jika ada. | Java tidak memberikan banyak warisan. |
Operator resolusi cakupan | C++ memiliki operator resolusi cakupan (: :) yang digunakan untuk mendefinisikan metode di luar kelas dan untuk mengakses variabel global di dalam cakupan di mana variabel lokal juga ada dengan nama yang sama. |
Tidak ada operator resolusi ruang lingkup (: :) in Java. Definisi metode harus terjadi di dalam kelas, sehingga tidak diperlukan resolusi cakupan. |
Metode pendukung | C++ mendukung overloading metode & overloading operator | Java hanya mendukung overloading metode. Tidak menyediakan dukungan untuk overloading operator. |
Portabilitas | Sumber harus dikompilasi ulang untuk platform; maka kode ini tidak portabel. | Kelas bytecode dapat ditransfer ke JVM khusus platform. |
Ketik semantik | Konsisten antara tipe primitif dan objek. | Berbeda untuk tipe primitif dan objek. |
perpustakaan | Fungsionalitas tingkat rendah yang dominan | Kelas besar-besaran untuk layanan tingkat tinggi. |
Deteksi kesalahan waktu proses | Tanggung jawab pemrogram. | Tanggung Jawab Sistem. |
Fungsi & Data | Fungsi dan data mungkin ada di luar kelas apa pun, cakupan global dan ruang nama tersedia. | Semua fungsi dan data ada di dalam kelas; cakupan paket tersedia. |
Platform | C++ program bergantung pada platform. Mereka perlu dikompilasi untuk platform tertentu. | Java program tidak bergantung pada platform. Java program ditulis untuk Java Mesin Virtual (JVM). Ini akan berjalan tanpa perlu kompilasi ulang. |
Deteksi kesalahan waktu proses | In C++, Ini adalah tanggung jawab Programmer untuk memeriksa kesalahan. | Merupakan tanggung jawab sistem untuk memeriksa kesalahan dalam program. |
Petunjuk | C++ petunjuk dukungan. | Java hanya menawarkan dukungan terbatas untuk pointer. |
Structure | Ini mendukung struktur. | Itu tidak mendukung struktur apa pun. |
Serikat pekerja | C++ mendukung serikat pekerja. | Java tidak mendukung serikat pekerja. |
Manajemen objek | C++ mendukung manajemen objek manual dengan bantuan kata kunci baru dan hapus. | Java sangat bergantung pada pengumpulan sampah otomatis. Itu tidak mendukung destruktor. |