Unterschied zwischen C ++ und Java

Hauptunterschied zwischen C++ und Java

  • C++ verwendet nur einen Compiler, während Java sowohl einen Compiler als auch einen Interpreter verwendet.
  • C++ unterstützt sowohl das Überladen von Operatoren als auch das Überladen von Methoden, während Java nur das Überladen von Methoden unterstützt.
  • C ++ unterstützt die manuelle Objektverwaltung mithilfe neuer und gelöschter Schlüsselwörter, während Java über eine integrierte automatische Speicherbereinigung verfügt.
  • C++ unterstützt Strukturen, während Java keine Strukturen unterstützt.
  • C++ unterstützt Unions, während Java Unions nicht unterstützt.

  • C ++ Vs Java
    C ++ Vs Java

Was ist die C ++ - Sprache?

C++ ist eine Computerprogrammiersprache, die die Funktionen der Programmiersprache C sowie Simula67 (erste objektorientierte Sprache) enthält. C++ führte das Konzept von Klassen und Objekten ein.

Es kapselt High- und Low-Level-Sprachfunktionen. Daher wird es als eine Sprache der Mittelstufe angesehen. Früher wurde es „C mit Klassen“ genannt, da es alle Eigenschaften der C-Sprache besaß.

Was ist die Java-Sprache?

Java ist eine von Sun Microsystems entwickelte Programmiersprache. Ein kleines Softwareentwicklungsteam hat diese Sprache entwickelt. Sie waren als das Grüne Team bekannt, das im Jahr 1991 die Java-Sprache initiierte.

Geschichte von C ++

Die Sprache C++ wurde von Bjarne Stroustrup in den AT & T Bell Laboratories entwickelt. Stroustrup war ein starker Befürworter von C und ein Bewunderer von Simula67. Er wollte das Beste aus beiden Sprachen vereinen. Sein Ziel war es, eine Sprache zu schaffen, die objektorientierte Programmierfunktionen unterstützt und dennoch die Leistungsfähigkeit von C beibehält. Daraus entstand C++.

Geschichte von Java

Die Java-Sprache hieß ursprünglich OAK. Ursprünglich wurde es für die Handhabung von Geräten und Set-Top-Geräten entwickelt boxes. Oak war ein massiver Misserfolg. Daher änderte Sun 1995 den Namen in Java und modifizierte die Sprache, um vom aufkeimenden World-Wide-Web-Entwicklungsgeschäft zu profitieren.

Later, in 2009, Oracle Corporation erwarb Sun Microsystems und übernahm den Besitz von zwei wichtigen Software-Assets von Sun: Javac und Solaris.

Unterschied zwischen C ++ und Java

Parameter C + + Javac
Beziehung Keine strikte Beziehung zwischen Klassennamen und Dateinamen. In C++ werden Header-Dateien und Implementierungsdateien für bestimmte Klassen verwendet. Die strikte Beziehung wird erzwungen, z. B. muss sich der Quellcode für die Klasse PayRoll in PayRoll.java befinden.
Eingabemechanismus I/O-Anweisungen verwenden in und cout, z. B. in » x; cout« y; Der E/A-Eingabemechanismus ist ein ziemlich komplizierter Vorgangplex da es jeweils ein Byte liest (System.in). Die Ausgabe ist einfach, zB System.out.println(x);
Compiler und Interpreter C++ unterstützt nur Compiler Java unterstützt sowohl Compiler als auch Interpreter
Kompatibilität mit anderen Sprachen Kompatibel mit C-Quellcode, außer in einigen Ausnahmefällen. Keine Abwärtskompatibilität mit einer früheren Sprache. Die Syntax wird von C / C ++ beeinflusst.
Zugangskontrolle und Objektschutz Flexibles Modell mit ständigem Schutz verfügbar Das umständliche Modell fördert eine schwache Kapselung.
Konzept Schreiben Sie einmal kompilieren Sie irgendwo Einmal schreiben überall überall laufen
Unterstützung für Programmiertyp Ermöglicht sowohl prozedurale Programmierung als auch objektorientierte Programmierung. Unterstützt objektorientiertes Programmiermodell.
Schnittstelle Ermöglicht direkte Aufrufe an native Systembibliotheken. Rufen Sie nur über die Java Native Interface und kürzlich über Java Native Access auf
Speicherverwaltung Zugänglich für Programmierer Systemgesteuert
Wurzelhierarchie C++ gibt es keine solche Wurzelhierarchie. C ++ unterstützt sowohl prozedurale als auch objektorientierte Programmierung. Daher wird sie als Hybridsprache bezeichnet. Java ist eine reine objektorientierte Programmiersprache. Das ist. Warum es einer Single-Root-Hierarchie folgt.
Beste Eigenschaften C ++ unterstützt objektorientierte Funktionen Prozedurale Programmierfunktionen. Java unterstützt die automatische Garbage Collection. Es unterstützt keine Destruktoren wie C++.
Gehe zu Statement C++ hat eine goto-Anweisung. Allerdings ist es nicht ideal, eine goto-Anweisung zu verwenden. Java hat keine goto-Anweisung. Die Schlüsselwörter got und const sind reserviert, auch wenn sie nicht verwendet werden.
Mehrfachvererbung C++ bietet multipleInheritance. Das Schlüsselwort virtual wird verwendet, um etwaige Probleme bei der Mehrfachvererbung zu lösen. Java bietet keine Mehrfachvererbung.
Scope Resolution Operator C++ verfügt über einen Bereichsauflösungsoperator (: :) Dies wird verwendet, um eine Methode außerhalb einer Klasse zu definieren und auf eine globale Variable innerhalb des Bereichs zuzugreifen, in dem auch eine lokale Variable mit demselben Namen existiert. Kein Bereichsauflösungsoperator (: :) in Java. Die Methodendefinitionen müssen innerhalb einer Klasse erfolgen, sodass keine Bereichsauflösung erforderlich ist.
Unterstützende Methode C++ unterstützt sowohl das Überladen von Methoden als auch das Überladen von Operatoren Java unterstützt nur das Überladen von Methoden. Es bietet keine Unterstützung für die Überlastung des Bedieners.
Tragbarkeit Die Quelle muss für die Plattform neu kompiliert werden. Daher ist der Code nicht portierbar. Bytecode-Klassen sind auf plattformspezifische JVMs übertragbar.
Typsemantik Konsistent zwischen primitiven und Objekttypen. Unterscheiden Sie sich für primitive und Objekttypen.
Bibliotheken Vorwiegend Low-Level-Funktionalität Riesige Kurse für hochrangige Dienstleistungen.
Laufzeitfehlererkennung Verantwortung des Programmierers. Systemverantwortung.
Funktionen & Daten Funktionen und Daten können außerhalb jeder Klasse existieren, globale und Namespace-Bereiche sind verfügbar. Alle Funktionen und Daten existieren innerhalb von Klassen; Paketumfang sind verfügbar.
Plattform C++-Programme sind plattformabhängig. Sie müssen für eine bestimmte Plattform kompiliert werden. Java-Programme sind plattformunabhängig. Java-Programme werden für geschrieben Java Virtual Machine (JVM). Es wird ausgeführt, ohne dass eine Neukompilierung erforderlich ist.
Laufzeitfehlererkennung In C++ liegt es in der Verantwortung des Programmierers, die Fehler zu überprüfen. Es liegt in der Verantwortung des Systems, Fehler im Programm zu überprüfen.
Zeiger C++-Unterstützungszeiger. Java bietet nur eingeschränkte Unterstützung für Zeiger.
Struktur Es unterstützt Strukturen. Es werden keine Strukturen unterstützt.
Unions C ++ unterstützt Gewerkschaften. Java unterstützt keine Unions.
Objektverwaltung C++ unterstützt die manuelle Objektverwaltung mit Hilfe von new- und delete-Schlüsselwörtern. Java ist stark von der automatischen Speicherbereinigung abhängig. Es unterstützt keine Destruktoren.