@TE: Es ist unsinnig, sich direkt auf die Spieleprogrammierung stürzen zu wollen. Das mag mit 14-15 alles ganz toll klingen, realistisch ist es aber nicht. Programmieren hat tatsächlich gar nichts mit den endgültigen Spielen (oder sonstigen Anwendungen) zu tun. Programmieren ist blanke, trockene Theorie. Du hast ein Problem, du analysierst es, zerlegst es in Teilprobleme, schreibst Lösungsansätze für diese Teilprobleme und fasst alle Teillösungen zusammen, unter Verwendung einer Programmiersprache.
Spieleprogrammierung ist in soweit Schwachsinn, weil man sich dann oft von Anfang an irgendwas vorstellt, dass wie Civ5, Crysis, Starcraft,... aussieht. Blöd nur, dass so etwas vollkommen unmöglich ist. Selbst "einfache" Spiele wie Battle for Wesnoth haben viele Jahre Arbeit von Dutzenden Mitarbeitern hinter sich. Spieleentwicklung besteht aus einem Haufen Dingen, die gar nichts mit "Programmieren" zu tun haben: Story, Leveldesign, Texturierung, Modellierung, Balancing,... Irgendwo hocken da wirklich ein paar Langhaarige in ner finsteren Kammer und schreiben Code, aber die sind nur ein kleiner Bruchteil des Ganzen.
Wenn du wirklich Programmieren lernen willst, dann fang mit übersichtlichen Problemen an. Schreib etwas, dass du bereits kennst. Schreib einen einfachen Taschenrechner, der die Grundrechenarten beherrscht und modular um weitere Funktionen, vielleicht sogar Integralrechnung, erweitet werden kann. Verwende dafür aber ausdrücklich KEINE Tutorials, die dir genau erklären, wie du Taschenrechner schreibst... denn sowas endet als Abschreibeübung. Total nutzlos. Erarbeite dir alles selbst, such dir selbst Lösungswege, schule deinen logischen Verstand und deine Fähigkeit zur Mustererkennung.
Tuxman schrieb:
Nein, CSS dient nur der Gestaltung. Das, was gestaltet werden soll, wird in anderen Sprachen programmiert.
CSS3 ist turing-vollständig, also ist es theoretisch auch eine Programmiersprache. Praktisch.... nun ja, über calc()-Anweisungen geht da niemand hinaus.
zweitens wage ich zu behaupten, dass ein C++-Entwickler schneller mit anderen Sprachen (C#, Java, selbst Ruby) zurechtkommt als andersrum. (Nur warum man das dann noch wollen sollte...)
Warum man das tun sollte?
Wie wärs damit: Weil der Markt eben gelegentlich erfordert, dass man ein bestehendes Projekt erweitert, und das ist in C++ eben nicht so ohne weiteres möglich, wenn es sich um ein Projekt auf Basis von Java oder Ruby handelt. Kann durchaus mal passieren, dass dein Kunde z.B. Open Xchange im Einsatz hat und dich fragt, ob du ihm eine Erweiterung/Modifikation für Problem XY schreiben kannst. Wenn du kein Java kannst, kannst du hier gleich mit Nein antworten und jemand anderes hat den Auftrag. Kein Geld für dich...
Und was deine grundsätzliche Annahme angeht: Hm... das einzig Neue für einen erfahrenen Java-Entwickler bei C++ ist die Notwendigkeit, Speicher selbst zu verwalten und sich mit Crosscompiling herumzuärgern.
Egal ob man in Ruby, PHP, Perl, Python, C++, C#, Objective-C, Delphi, Java, JavaScript,.... anfängt, die grundlegenden Techniken sind eh identisch. Wie referenziere ich Variablen? Wie baue ich Kontrollstrukturen? Wie organisiere ich meinen Code? Verwende ich Objektorientierung oder ist das hier unnötig? Benötige ich spezielle Design-Pattern wie MVC, oder ist auch das Overkill?
Ein fähiger Java-Entwickler wird schnell einen C++ - Code grundsätzlich verstehen können und umgekehrt.