Unterschied zwischen c++ und Java?

3 Antworten

Java mehr für Webanwendungen, hat das Prinzip der objektorientierten Programmierung noch intensiver (meiner Meinung nach schlechter) umgesetzt und ist deutlich (!) langsamer. C++ ist schneller, vielseitiger, aber evtl. auch etwas schwieriger.

Vom Einstieg her würde ich dennoch C++ empfehlen, da man bei Java sofort mit Klassen konfrontiert wird, was man bei C++ erst zum Schluss lernt. Dadurch fällt der Einstieg leichter.


freejack75  02.07.2014, 16:54

schön, komplett falsche Antwort.

3

Java selbst benötigt eine Virtuelle Maschine um ausgeführt werden zu können, die sogenannte JVM (Java Virtuel Maschine). Dies ist ein Programm, welches dann das eigentliche Java-Programm ausführt, ganz ähnlich dem Prinzip des Flash-Players. Ist diese auf Computern mit verschiedenen Betriebssystemen installiert, lassen sich die Java-Programme dann Plattform übergreifend starten.

C++ ist für native Anwendungen, d.h. da Betriebssystem führt ein solches Programm direkt aus, jedoch sind diese dann nicht mehr plattform übergreifend und man muss für jede gewünschte Zielplatform speziell kompilieren. Das bringt Performance Vorteile, da eben keine Programmlayer dazwischen liegt. Die JVM selbst ist beispielsweise so ein Programm (natürlich auch viele mehr…), daher gibt es auch für Windows, Mac und Linux verschiedene Downloads.

Welche Sprache von beiden nun besser ist lässt sich nur für den speziellen Anwendungsfall beantworten, und es wird ganz sicher auch verschiedene Meinungen darüber geben welche Sprache von beiden zum Lernen besser ist. Solange du dich da an keine Vorgaben halten musst würde ich dir raten einfach mal beides zu probieren und dann auch etwas nach Geschmack zu entscheiden.

Um deine Frage zu beantworten: C++ wird dann genommen, wenn dann bevorzugt wenn es um Performance geht, beispielsweise Video-Spiele. Aber auch für Treiber usw. Für Hardware-nahe anwendungen ist eigentlich das Mittel der Wahl.

Java hat große Stärken was das Programmieren im Netzwerk betrifft und ist gewissermaßen Plattformübergreifend.

Es sind beides allgemeine Programmiersprachen, die also generell für jeden Anwendungsfall gleich gut oder schlecht geeignet sind.

Bei Java hat man automatisches Speichermanagement (Garbage Collection), bei C++ macht man die Speicherverwaltung selber.

Von der Performance her sind beide Sprachen vergleichbar, C++ kann je nach Anwendungsfall so ca. 20-40% schneller sein. In seltenen Fällen ist auch mal Java schneller.

Java ist deutlich einfacher zu lernen. Zum einen durch die automatische Speicherverwaltung, zum anderen weil die Sprache selbst einfacher aufgebaut ist (keine Mehrfachvererbung, keine Templates, eine besser standardisierte Bibliothek, ...).

C++ ist geschickter für systemnahe Dinge (Services und Daemons, OpenGL-Programmierung usw.).