C++ oder Java?
Ich will eine von diesen Sprachen lernen.
Was lohnt sich heutzutage mehr?
Ich habe auch keine besonderen Vorkenntnisse in der Programmierung.
Also welche wäre auch besser für Anfänger?
Was möchtest du den programmieren?
Leider weiß ich das noch nicht so genau, aber könnte mir Apps und so vorstellen.
7 Antworten
Ich will eine von diesen Sprachen lernen
Wenn du dich bereits für eine Sprache festlegst, ohne VORHER zu wissen, welches Projekt du damit bearbeiten willst, sattelst du das Pferd, nachdem du aufgestiegen bist.
Zuerst kennt man das Projekt und wählt die dafür passende Programmiersprache, nicht umgekehrt.
Ich habe auch keine besonderen Vorkenntnisse in der Programmierung.
Dann solltest du mit den Grundlagen der Programmierung beginnen und nicht mit einer Sprache
Pseudocode, Programm-Ablauf-Plan, Struktogramm, Objektorientierte Programmierung, ...
Wenn du das kannst, ist die Sprache nur noch das Erlernen der zugehörigen Syntax.
Du hast schon Recht damit, dass man zuerst sich die Grundlegenden Sachen der Programmierung anschauen solte bevor man eine Programmiersprache lernt, jedoch ist es sehrwohl möglich direkt mit C++ bzw. Java anzufangen, da man währendbei die Kenntnisse lernt. Ich finde Objektorientierte Programmierung ist nicht wirklich zwingend. Jedoch kannst du mich gerne des besseren Belehren ;)
java ist besser für anfänger aber es gibt für anfänger bessere sprachen als java
Dass es darauf ankommt, was du damit tun willst, wurde ja schon ausreichend gewürdigt.
Fakt ist aber auch, dass C++ außerhalb einiger bestimmter Bereiche eine vergleichsweise unbedeutende Nischensprache geworden ist. Auch wenn es immer als universell verwendbare Sprache gedacht war, hat sich die Welt der Softwareentwicklung stark zersplittert und C++ ist nur mehr in ganz wenigen Anwendungsbereichen dominant.
Zum banalen Geldverdienen ist Java die bessere Option. Ein sehr, sehr großer Teil der "corporate IT" läuft auf Java. Es ist auch etwas leichter zu erlernen.
Also, wenn du für Android Apps entwickeln möchtest würde zu Java tendieren.
Für alle Hardwarenahen Sachen, Arduino, Spieleentwicklung etc. definitiv C++, da es kompiliert wird und schneller ist.
Es kommt ganz drauf an wofür du programmieren möchtest. Verschiedene Sprachen habe verschiedene "stärken"
C++
Jetzt weniger weil die Sprache mehr "benutzt" wird, sondern vielmehr weil du mit C++ insgesamt mehr Konzepte mitnimmst.
C++ ist ein Monster einer Programmiersprache und ist mit Funktionen komplett überladen, allerdings ist es eine der wenigen Sprachen die dich die Hardware sehr "tief" und "grundsätzlich" ansprechen lässt.
Du lernst dabei wie man selbst Speicher allokiert und auch wieder freigeben muss, etwas was dir Java komplett abnimmt, und auch wenn du es vermutlich in Zukunft nicht brauchen wirst, das ganze ist trotzdem ein sehr wichtiges Konzept was man mal gelernt haben sollte.
Darüber hinaus ist C++ in der "Art und Weise" wie du es benutzt deutlich flexibler.
Während dich Java bis auf ein paar Ausnahmen quasi in Objektorientierung reinzwingt, hast du bei C++ die Möglichkeit auch Code über Prozeduren zu schreiben.
Ich finde gerade am Anfang, ist es wichtig die Menge an Dingen zu beschränken, die man einfach "hinnehmen" muss ohne sie zu verstehen.
Während C++ in einem einfachen Hello World Programm:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World" << endl;
return 0;
}
Eigentlich so ziemlich alles zumindest "Grundlegend" Verstehen kannst, so ist das in Java ganz anders.
public class HelloWorld
{
public static void main (String[] args)
{
// Ausgabe Hello World!
System.out.println("Hello World!");
}
}
Hier musst du von Klassen, über die verschiedensten Schlüsselwörter, Memberfunktionen etc. eigentlich direkt so viel verstehen, was viel zu viel für einen Anfänger ist.
Wenn du da weiter machst, musst du einfach viel zu viel "akzeptieren". Das ist bei C++ anders.
Und dazu musst du es ja am Ende auch nicht auf die Spitze treiben mit C++.
Ob man wirklich die ganzen Template-Konzepte von generischer Programmierung kennen muss stelle ich mal wirklich in Frage, nur für den "Anfang" zum Programmieren lernen generell finde ich C++ geeigneter.
C++ hat in erster Linie Nachteile die bei fortgeschritteneren Projekten zum tragen kommen. Dazu zählt z.B. dass es integriert nur eine sehr limitierte Standardbibliothek gibt, und z.B. überhaupt keinen Netcode. Hier muss man dann auf Fremdcode zurückgreifen, was in Java definitiv besser ist.
Bezüglich des Projekts kann ich mir vorstellen, in allen möglichen Branchen zu arbeiten. Wie schon gesagt könnte ich mir Appprogrammierung vorstellen, aber es muss das nicht zwingend sein. Worum mir es geht ist, das ich keine besonderen Vorkentnisse habe und deswegen wissen will, welche Sprache für Anfänger besser ist.