C++ vs Java: Vor- und Nachteile
Java oder C++? Welche Programmiersprache ist die bessere? Welche soll ich lernen? Hier nun einige Vor- und Nachteile der beiden Programmiersprachen. Vielleicht fällt die Entscheidung dann leichter!
/wedata%2F0034790%2F2011-07%2FC-vs-Java.png)
Zur Objektorientierten Programmierung vorweg
Was ist ein Objekt? C++ und Java-Programme benutzen Objekte. Ein Objekt besteht aus zwei Teilen, dem Datenelemente und der Methoden/Funktionen. Inhalte der Datenelemente zeigen den Zustand des Objekts. Funktionen/Methoden sind Operationen, die den Zustand des Elements verändern. Alle Objekte mit gleichen Eigenschaften werden als Klasse bezeichnet. Erstellt man in einem Programm zum Beispiel eine Klasse, so kann man von dieser Klasseaus, ein mit bestimmen Eigenschaften versehenes Objekt erstellen. Die erstellten Klassen werden in einer sogenannten Klassenbibliothek Bibliothek zusammengefasst. Hierarchie 1. Klassenbibliothek a. Klasse 1 i. Objekt 1 ii. Objekt 2 b. Klasse 2 i. Objekt 1 ii. Objekt 2 c. Klasse 3 i. Objekt 1 ii. Objekt 2
C++
Allgemeines C++ ist eine standardisierte höhere Programmiersprache, die 1979 bei dem amerikanischen Mobilfunkanbieter AT&T entwickelt wurde. C++ ist eine Erweiterung von der Programmiersprache C. Es ist eine Mehrzwecksprache, die mehrere Programmierparadigmen (z. B. objektorientierte, generische und prozedurale Programmierung) unterstützt. Vorteile · sehr schnell · hohe Effizienz · maschinennah · kompatibel mit Windows und Linux · generische Programmierung mittels Templates möglich · prozedurale Programmierung möglich · modulare Programmierung möglich · strukturiere Programmierung möglich · volle Kontrolle über das System (Ports ansprechen, API’s nuzen) · keine zusätzliche Software nötig um Programme auszuführen Nachteile · objektorientiertes Programmieren ist sehr umständlich · Syntax ist sehr umständlich · Plattformabhängig · Sprache ist sehr veraltet · manuelle Speicherverwaltung nötig · GUI’s (Graphical User Interfaces) erstellen ist nicht einfach
Java
Allgemeines Java wurde von Sun Microsystems entwickelt und ist eine objektorientierte Programmiersprache. Mit Java werden keine herkömmlichen Programme in Maschinensprache erzeugt, sondern Bytecode, der in einer speziellen Laufzeitumgebung ausgeführt wird. Zur Ausführung wird die Java Virtual Machine nötig. Vorteile · ist sehr gut strukturiert · multi-threading wird unterstützt Threads können ein Programm parallel ausführen. Ein Thread kann zum Beispiel eine Berechnung durchführen, während ein anderes zeitgleich eine Benutzerinteraktion ermöglicht. Dadurch werden die Wartezeiten gekürzt. · objektorientierte Programmiersprache · robuste Programmiersprache Durch die Programmierung in Bytecode ist Java weniger Virenanfällig. Da auch jeder Speicherzugriff überprüft wird, kann es hier nicht zu einem Computerabsturz kommen. · automatische Speicherverwaltung · Dynamik in Bezug auf Runtime-Systeme (Klassen werden nur dann gelinkt, wenn sie auch wirklich benötigt werden) · unterstützt Anwendungen im Netzwerk · plattformunabhängig (Java benötigt lediglich einen virtuellen Java Prozessor, der den Bytecode interpretiert) · Einbindung von Applets im World Wide Web ist sehr einfach (Sie können dann auch aus dem WWW geladen und ausgeführt werden.) · Nachteile · Da Java-Code vom Interpreter interpretiert werden muss, sind die Applikationen etwas langsamer als ähnliche von C++.