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.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.