Arasındaki Fark C++ ve Java
Arasındaki Temel Fark C++ ve Java
- C++ yalnızca derleyiciyi kullanır, oysa Java hem derleyiciyi hem de yorumlayıcıyı kullanır.
- C++ hem operatör aşırı yüklemesini hem de yöntem aşırı yüklemesini destekler Java yalnızca yöntemin aşırı yüklenmesini destekler.
- C++ yeni ve silinen anahtar kelimelerin yardımıyla manuel nesne yönetimini desteklerken Java yerleşik otomatik çöp toplama özelliğine sahiptir.
- C++ yapıları desteklerken Java yapıları desteklemez.
- C++ sendikaları destekliyor Java sendikaları desteklemiyor

Nedir C++ dil?
C++ C programlama dilinin ve Simula67'nin (ilk nesne yönelimli dil) özelliklerini bünyesinde barındıran bir bilgisayar programlama dilidir. C++ Sınıf ve Nesne kavramlarını tanıttı.
Yüksek ve düşük seviyeli dil özelliklerini kapsar. Yani orta seviye bir dil olarak görülüyor. Daha önce C dilinin tüm özelliklerini taşıdığı için “sınıflı C” olarak adlandırılıyordu.
Nedir Java dil?
Java Sun Microsystems tarafından geliştirilen programlama dilidir. Küçük bir yazılım geliştirme ekibi bu dili geliştirdi. Başlatan Yeşil Takım olarak biliniyorlardı. Java 1991 yılında dil.
Tarihi C++
C++ dil, AT & T Bell Laboratuvarları'nda Bjarne Stroustrup tarafından geliştirildi. Stroustrup, C'nin güçlü bir destekçisi ve Simula67'nin hayranıydı. Her iki dilin en iyilerini birleştirmek istiyordu. Nesne yönelimli programlama özelliklerini destekleyen ve yine de C'nin gücünü koruyan bir dil yaratmayı amaçlıyordu. Bu, C++.
Tarihi Java
The Java dil başlangıçta OAK olarak adlandırıldı. Başlangıçta, cihazları ve set üstü kutuları idare etmek için geliştirildi. Oak büyük bir başarısızlıktı. Bu nedenle, 1995'te Sun adını Java ve gelişen World Wide Web geliştirme işinden yararlanmak için dili değiştirdik.
Later, 2009’de, Oracle Şirket, Sun Microsystems'i satın aldı ve iki önemli Sun yazılım varlığının mülkiyetini aldı: Java ve Solaris.
Arasındaki Fark C++ ve Java
Parametre | C++ | Java |
---|---|---|
ilişki | Sınıf adları ile dosya adları arasında kesin bir ilişki yoktur. İçinde C++, başlık dosyaları ve uygulama dosyaları belirli bir sınıf için kullanılır. | Bu katı ilişki uygulanır; örneğin, PayRoll sınıfının kaynak kodunun PayRoll.java'da olması gerekir. |
Giriş mekanizması | G/Ç ifadeleri in ve cout'u kullanır, örneğin in » x; cout « y; | G/Ç giriş mekanizması oldukça karmaşıktır çünkü her seferinde bir bayt okur (System.in). Çıktı kolaydır, örneğin System.out.println(x); |
Derleyici ve Tercüman | C++ yalnızca derleyiciyi destekleyin | Java hem derleyiciyi hem de yorumlayıcıyı destekler |
Diğer dillerle uyumluluk | Bazı istisnai durumlar dışında C kaynak koduyla uyumludur. | Önceki hiçbir dille geriye dönük uyumluluk yok. Sözdizimi C/ tarafından etkileniyorC++. |
Erişim kontrolü ve nesne koruması | Sürekli koruma sağlayan esnek model mevcuttur | Hantal model zayıf kapsüllemeyi teşvik eder. |
Konsept | Bir kere yaz her yerde derle | Bir kez yaz her yerde her yerde koş |
Programlama türü desteği | Hem prosedürel programlamaya hem de nesne yönelimli programlamaya izin verir. | Nesne yönelimli programlama modelini destekleyin. |
arayüzey | Yerel sistem kitaplıklarına doğrudan çağrı yapılmasına izin verir. | Yalnızca şu numaradan arayın: Java Yerel Arayüz ve yakın zamanda Java Yerel Erişim |
Bellek yönetimi | Programcının erişebileceği | Sistem kontrollü |
Kök hiyerarşisi | C++ böyle bir kök hiyerarşisi yoktur. C++ hem prosedürel hem de nesne yönelimli programlamayı destekler; bu nedenle hibrit dil olarak adlandırılır. | Java saf nesne yönelimli bir programlama dilidir. Bu. Neden Tek kök hiyerarşisini takip ediyor? |
En iyi özellikler | C++ Nesne yönelimli özellikleri destekler Prosedürel programlama özellikleri. | Java Otomatik çöp toplamayı destekleyin. Yıkıcıları desteklemez C++ yapar. |
Goto İfadesi | C++ bir goto ifadesi vardır. Ancak goto ifadesini kullanmak ideal değildir. | Java goto ifadesi yoktur. Got ve const anahtar kelimeleri kullanılmasalar dahi saklıdır. |
Çoklu kalıtım | C++ çoklu Miras sağlayın. Çoklu miras sırasında ortaya çıkan sorunları çözmek için sanal anahtar sözcüğü kullanılır. | Java çoklu kalıtım sağlamaz. |
Kapsam çözümleme operatörü | C++ kapsam çözümleme operatörü var (: :) bir sınıfın dışında bir yöntem tanımlamak ve aynı adda yerel bir değişkenin de bulunduğu kapsam içindeki global bir değişkene erişmek için kullanılır. |
Kapsam çözümleme operatörü yok (: :) in Java. Yöntem tanımlarının bir sınıf içinde gerçekleşmesi gerekir, dolayısıyla kapsam çözümlemeye gerek yoktur. |
Destekleyici yöntem | C++ hem yöntem aşırı yüklemesini hem de operatör aşırı yüklemesini destekler | Java yalnızca yöntem aşırı yüklemesini destekler. Operatör aşırı yüklemesi için destek sağlamaz. |
Taşınabilirlik | Kaynağın platform için yeniden derlenmesi gerekir; dolayısıyla kod taşınabilir değildir. | Bayt kodu sınıfları platforma özgü JVM'lere aktarılabilir. |
Tür anlambilimi | İlkel ve nesne türleri arasında tutarlı. | İlkel ve nesne türleri için farklılık gösterir. |
Kütüphaneler | Ağırlıklı olarak düşük seviyeli işlevsellik | Üst düzey hizmetler için devasa sınıflar. |
Çalışma zamanı hatası tespiti | Programcı sorumluluğu. | Sistem Sorumluluğu. |
İşlevler ve Veriler | İşlevler ve veriler herhangi bir sınıfın dışında mevcut olabilir; genel ve ad alanı kapsamları mevcuttur. | Tüm işlevler ve veriler sınıfların içinde mevcuttur; paket kapsamı mevcuttur. |
Platform | C++ programlar platforma bağlıdır. Belirli bir platform için derlenmeleri gerekir. | Java programlar platformdan bağımsızdır. Java programlar bunun için yazılmıştır Java Sanal Makine (JVM). Yeniden derlemeye ihtiyaç duymadan çalışacaktır. |
Çalışma zamanı hatası tespiti | In C++, Hataları kontrol etmek Programcının sorumluluğundadır. | Programdaki hataları kontrol etmek sistemin sorumluluğundadır. |
Işaretçi | C++ işaretçileri destekler. | Java işaretçiler için yalnızca sınırlı destek sunar. |
Structure | Yapıları destekler. | Yapılara herhangi bir destek sağlamaz. |
Sendikalar | C++ sendikaları destekliyor. | Java sendikaları desteklemiyor. |
Nesne yönetimi | C++ yeni ve silinen anahtar kelimelerin yardımıyla manuel nesne yönetimini destekler. | Java Ağır olması otomatik çöp toplamaya bağlıdır. Yıkıcıları desteklemez. |