Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

C++ Vs JAVA:Was ist der Unterschied?

Was ist die Sprache C++?

C++ ist eine Computerprogrammiersprache, die die Funktion 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-Sprachmerkmale. Es wird also als Mittelstufe angesehen. Früher wurde es „C mit Klassen“ genannt, da es alle Eigenschaften der C-Sprache hatte.

Was ist die Sprache Java?

Java ist eine von Sun Microsystems entwickelte Programmiersprache. Ein kleines Softwareentwicklungsteam hat diese Sprache entwickelt. Sie waren als das Green Team bekannt, das die Java-Sprache im Jahr 1991 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 kombinieren. Sein Ziel war es, eine Sprache zu schaffen, die objektorientierte Programmierfunktionen unterstützt und dennoch die Leistungsfähigkeit von C beibehält. Das Ergebnis war 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-Boxen entwickelt. Oak war ein massiver Fehlschlag. Daher änderte Sun 1995 den Namen in Java und modifizierte die Sprache, um vom aufkeimenden World-Wide-Web-Entwicklungsgeschäft zu profitieren.

Später, im Jahr 2009, erwarb die Oracle Corporation Sun Microsystems und übernahm den Besitz von zwei wichtigen Software-Assets von Sun:Java und Solaris.

WICHTIGSTER UNTERSCHIED:

Unterschied zwischen C++ und Java

Parameter C++ Java
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 der Quellcode für die Klasse PayRoll in PayRoll.java sein.
Eingabemechanismus E/A-Anweisungen verwenden in und cout, z. B. in » x; cout« y; Der E/A-Eingabemechanismus ist ziemlich komplex, da er jeweils ein Byte liest (System.in). Die Ausgabe ist einfach, z.B. System.out.println(x);
Compiler und Interpreter Compiler wird nur von C++ unterstützt 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 früheren Sprachen. Die Syntax wird von C/C++ beeinflusst.
Zugriffskontrolle und Objektschutz Flexibles Modell mit ständig verfügbarem Schutz Das umständliche Modell begünstigt eine schwache Kapselung.
Konzept Einmal schreiben, überall kompilieren Einmal schreiben, überall und überall ausführen
Unterstützung für Programmiertyp Erlaubt sowohl prozedurale Programmierung als auch objektorientierte Programmierung. Objektorientiertes Programmiermodell unterstützen.
Schnittstelle Erlaubt direkte Aufrufe von nativen Systembibliotheken. Nur Aufruf über das Java Native Interface und neuerdings Java Native Access
Speicherverwaltung Zugänglich für Programmierer Systemgesteuert
Root-Hierarchie C++ gibt es keine solche Root-Hierarchie. 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 folgt einer Single-Root-Hierarchie.
Beste Funktionen C++ unterstützt objektorientierte Funktionen Prozedurale Programmierfunktionen. Java unterstützt die automatische Garbage Collection. Es unterstützt keine Destruktoren wie C++.
Goto-Anweisung 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 Probleme bei der Mehrfachvererbung zu lösen, falls es welche gibt. Java bietet keine Mehrfachvererbung.
Bereichsauflösungsoperator C++ hat den Bereichsauflösungsoperator (: :) die verwendet wird, um eine Methode außerhalb einer Klasse zu definieren und innerhalb des Gültigkeitsbereichs auf eine globale Variable zuzugreifen, in der auch eine lokale Variable mit demselben Namen vorhanden ist. Kein Bereichsauflösungsoperator (: :) auf Java. Die Methodendefinitionen müssen innerhalb einer Klasse vorkommen, daher ist keine Bereichsauflösung erforderlich.
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 das Überladen von Operatoren.
Portabilität Der Quellcode muss für die Plattform neu kompiliert werden; daher ist der Code nicht portabel. Bytecode-Klassen sind auf plattformspezifische JVMs übertragbar.
Typsemantik Konsistent zwischen primitiven und Objekttypen. Unterscheiden sich für primitive und Objekttypen.
Bibliotheken Überwiegend Low-Level-Funktionalität Massive Kurse für hochrangige Dienste.
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 Java Virtual Machine (JVM) geschrieben. Es läuft ohne Neukompilierung.
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.
Gewerkschaften C++ unterstützt Vereinigungen. 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 Garbage Collection abhängig. Destruktoren werden nicht unterstützt.

Java

  1. Schnittstelle vs. abstrakte Klasse in Java:Was ist der Unterschied?
  2. Der Unterschied zwischen einem AC- und DC-Generator
  3. Brownout vs. Blackout:Was ist der Unterschied?
  4. Thermoplast vs. Duroplast:Was ist der Unterschied?
  5. Gleichstrom- und Wechselstrommotor:Was ist der Unterschied?
  6. Was ist der Unterschied zwischen Metallherstellung und Metallschweißen?
  7. Stahlwinkel vs. Aluminiumwinkel:Was ist der Unterschied?
  8. Reines vs. abrasives Wasserstrahlschneiden – was ist der Unterschied?
  9. Atemluft versus Druckluft – was ist der Unterschied?
  10. PSI, PSIA und PSIG:Was ist der Unterschied?