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

  • C++ Vs Java
    C++ Vs Java

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.