Nite hat gesagt.:
Nun wollte ich aber gerne richtige Programme für einen Endanwender schreiben und auch für mich um Dinge auszubessern, die mir an anderen Programmen nicht gefallen.
Ich habe ziemlich lange C++ programmiert, steige nun auf Java um. Viele Sachen, gerade im Bereich der Objektorientierung, sind ja ähnlich (Vererbung, Überschreiben...). Ich hab noch nicht den genauen Überblick über Java, würde aber sagen, die größten Unterschiede sind vor allem:
- radikalere Ausrichtung auf OOP bei Java (und dadurch konsequentere Anwendung "richtigen" Programmierstils im Vergleich zu C++)
- Exceptions-Handling in Java (vermeidet Programmabstürze, indem die Fehler "abgefangen" werden)
- Keine Pointer und notwendige Speicherverwaltung in Java. Dies hat einerseits Vorteile, weil der Garbage-Collector aufräumt und man nicht ausversehen unnötigen Speichermüll zurückbehält, wie es bei C++ schnell passieren kann. Pointer fand ich nicht schlecht bei C++, da bin ich noch gespannt, inwiefern ich dafür funktionale äquivalente Code Schnipsel in Java erstellen kann.
Die Grundlagen von Java und C++ lernen sich fast identisch leicht/schwer. Ich würde mich zuallererst fragen, für wen du Programme erstellen möchtest und auf welchen Betriebssystemen sie laufen sollen. Und direkte Anschlussfrage: Welche IDE?
Ich möchte bald auf Linux umsteigen, und da dürfen meine eigenen Programme natürlich nicht fehlen. Also kam für mich sowieso nur eine plattformunabhängige Sprache in Frage. Bleibt: Java, C# oder ggf. C++/Qt (sofern KDE bald auf Windows erscheint). Die .net-Portierungen auf Linux, Mac etc. sind mir etwas unsicher, da von MS nicht richtig unterstützt. Daher hab ich mich für Java entschieden.
Ein anderer Grund war eben, dass es für Java sehr gute kostenlose IDEs gibt (Netbeans - meiner Meinung nach besonders für Desktop-Anwendungen geeignet; Eclipse - wird von vielen favorisiert, meiner Meinung nach mittlerweile zu unrecht, weil Netbeans gut nachgelegt hat).
Wenn du nur für Windows programmieren möchtest, und Geld für Visual Studio hast, würde ich C++ oder vielleicht sogar C# empfehlen. Ansonsten würde ich an deiner Stelle zu Java wechseln. Vor allem sehr wichtig ist die Community, die a) für die Sprache und b) für die IDE zu finden ist. Für meinen alten C++Compiler/IDE gibt es leider gar nichts (mehr). Und ich wollte nicht in 5 Jahren noch Programme im Windows-95-Look erstellen, die vielleicht bereits auf Vista gar nicht mehr laufen. Daher musste ich sowieso die IDE wechseln. Und dann bot sich gleich ein Sprachwechsel an, denn die Einarbeitung in die IDE ist meiner Meinung nach noch zeitaufwändiger, Java lernt sich (fast) nebenbei, wenn man vorher C++ kannte.