C: C ist, wie hier auch bereits mehrfach erwähnt, gut für Treiber und Betriebssystem Entwicklung und sonst in jedem anderen Gebiet hoffnungslos veraltet und syntaktisch sowie vom Konzept(in C gibt es keine Objekte) her überholt! Alle großen und bekannten(außer vlt. Minecraft) Spiele sind in der Objektorientierten Version von C geschrieben: C++ Wenn du also keine Treiber, Betriebsystem oder Viren schreiben möchtest(was dir, tut mir leid) sowieso erst nach Monaten oder Jahren gelingen wird, dann Finger weg von C.
C++: C++ ist die Objektorientierte-Version von C, dass heißt das sie das modernste Konzept der Programmierung unterstützt, allerdings machen wir uns nichts vor, sonst nicht sonderlich modern ist. C++ wird von vielen empfohlen, weil es mit dieser Programmiersprache möglich ist genau soviel zu programmieren wie mit C und mit C wiederum kann man alles, außer Prozessoren programmieren... Allerdings habe ich mich mal einige Zeit mit C++ herumgeschlagen und kann sagen ich hasse diese Sprache:
-
Um ein Klasse zu erstellen braucht man nicht (wie bei Java und C#) eine Datei, sondern drei!!
-
Die standard-Library hat kein GUI-Framework! Wenn man also irgentwas mit GUI machen möchte(so wie bei C meines Wissens nach auch) muss man sich externe Library's holen, sowie eine IDE(von denen gute bei C++(zumindestens kostenlose, plattformunabhängige gute) auch rar sind) mit der man die Library verwenden kann...
-
Aus irgendeinem Grund bringt jedes Framework und jede Library ihre eigenen 1000 Strings mit die sich nur sehr schlecht casten lassen..
Ihr merkt ich hasse C++, also schnell weiter zu Sprachen die ich mag:
Java: Java ist eine wunderschöne, moderne Sprache die fast alle modernen Konzepte unterstützt(einige bemängeln dass es keine Lambda -Expressions gibt, aber das kommt auch mit Java-8). Sie ist syntaktisch, sowie alle modernen Programmiersprachen, an C angelehnt. Java ist der Inbegriff der Objektorientierte Programmierung, alles sind Objekte! Sogar an Stellen, wo es einfacher wäre kein Objekt zu haben, hat Java ein Objekt. Das ist zum lernen des Objektorientierten Konzepts super, nervt aber später etwas. Der große Vorteil von Java ist die plattformunabhängigkeit, der Grundsatz von Java: "Compile it once, use it everywhere!" Das ganze wird über eine Virtual Machine realisiert, die zu Laufzeit den Hex-Code, in den dein Java-Code zuerst compiliert worden ist, in Machinen-Code(10101011) umwandelt.
C#: C# ist praktisch eine überarbeitete, noch modernere Version von Java. Wie Java benutzt es ein Zwischenprogramm um den Hex-Code in ausführbaren Code zu transformieren. Dieses Zwischenprogramm ist auf Dual oder Quad-Core PC's besser als Java, da es die Hardware geringfügig besser nutzt, das haben Tests gezeigt. C# hat allerdings ein großes Manko, gegenüber Java: Es büßt dessen Plattformunabhängigkeit ein und funktioniert nur auf Windows Rechnern.
Fazit: Vergiss als Anfänger C und C++(IMHO)! Wenn du plattformunabhängig programmieren möchtest führt kein Weg an Java vorbei und dieser Weg ist auch nicht schlecht! Java ist eine super Sprache für Anfänger und wird auch viel von professionellen Entwicklern eingesetzt. Wenn du allerdings dein PC Windows installiert hat(sowie 80% aller PC's), dann würde ich zur überarbeiten Version von Java raten: C#