Erfahrungen mit den Unterschieden zwischen C++ und Java?

vom 17.04.2013, 17:59 Uhr

Ich hatte die letzten drei Jahre auf dem Gymnasium Informationstechnik als Profilfach und habe dort die Grundlagen mehrerer Programmiersprachen gelernt, unter anderem „C“ und „C++“. Wir sind meiner Ansicht nach sehr weit gekommen, in „C++“ kann ich problemlos einfache Spiele programmieren, wie zum Beispiel Sodoku, Snake und einige andere, die keinen bestimmten Namen haben und die ich zuerst ausführlich beschreiben müsste.

Nun bin ich auf die Idee für eine App gekommen, die ich für mich selbst gerne programmieren würde. Die App soll kein Spiel sein, sondern nur einen einfachen Algorithmus enthalten, den ich auch schon im Kopf habe. Allerdings habe ich gelesen, dass man bei Apps für Android die Programmiersprache „Java“ benutzt. Ich habe mich nun etwas eingelesen und auf den ersten Blick erscheint „Java“ ganz ähnlich wie „C++“. Beides sind objektorientierte Programmiersprachen, also ist die Vorgehensweise, was Klassen, Objekte und so weiter, wohl gleich. Des Weiteren scheinen Dinge wie die Deklaration von Variablen oder auch Schleifen wie in „C++“.

Dennoch muss es ja Unterschiede geben. Kennt sich hier jemand vielleicht die beiden Programmiersprachen „Java“ und „C++“ und kann mir sagen, was die hauptsächlichen Unterschiede sind? Worauf muss ich achten, wenn ich mit meinen „C++“-Vorkenntnissen plötzlich anfange, in „Java“ zu programmieren?

» *sophie » Beiträge: 3506 » Talkpoints: 1,38 » Auszeichnung für 3000 Beiträge



C++ muss auf jeder Maschine neu übersetzt werden. Die Javaklassen sind plattformunabhängig und werden von virtuellen Maschinen interpretiert. Ein Javaprogramm wird also nicht im klassischen Sinn übersetzt, sondern in einen Zwischenzustand, die Klassen, gebracht.

Insgesamt kann man mit C++ tiefer in der Maschine programmieren. Wenn du C++ kannst, dürfte Java kein Problem sein. Und wenn du die Entwicklungsumgebung Eclipse beherrschst, dann sowieso nicht.

» anlupa » Beiträge: » Talkpoints: Gesperrt »


Neben dem Thema mit der virtuellen Maschine, das schon angesprochen wurde, gibt es noch weitere Unterschiede. Java ist sehr streng objektorientiert, während man C++ prinzipiell auch herkömmlich programmieren kann.

Java arbeitet außerdem generell nur mit Referenzen, während bei C++ ja noch echte Hardware-Pointer verwendet werden können. Bei Java gibt es dafür einen sogenannten Garbage-Kollektor, der nicht mehr benötigte Referenzen löscht. Bei C++ muss man sich selbst um das Freigeben von nicht mehr benötigten Ressourcen kümmern.

Außerdem ist bei Java eine sehr umfangreiche API spezifiziert, es gibt zum Beispiel Verschlüsselungs-Algorithmen oder einen XML-Parser. Bei C++ ist die Grund-API weniger umfangreich, dafür gibt es sehr viele verschiedene Bibliotheken von Drittherstellern und Open-Source-Projekten.

» Weasel_ » Beiträge: » Talkpoints: Gesperrt »



Ähnliche Themen

Weitere interessante Themen

^