1.) Wie Platformübergreifend ist C++? Läuft da wirklich jedes Programm unter Windows, Linux, Unix? Und wenn ja, oder nein, was brauche ich dafür das das funktioniert?
Mit C++ kann man sicherlich Programme für alle diese Plattformen schreiben. Allerdings muß man sie teilweise wohl doch heftigst anpassen, wenn man ein Original-Windows-Programm auf Linux laufen lassen will und umgekehrt. Die Sprache C++ ist dabei nicht das Hindernis, sondern die Systemumgebung und die APIs. Die grafische Benutzeroberfläche von Linux wird einfach anders angesprochen.
und 2.) Was ist für welche Anwendung besser geeigent? Java oder C++? Oder was ist Platformübergreifender?
Java läuft ohne Änderungen auf jeder Plattform, für die es eine Java Virtual Machine gibt. Das geht deshalb, weil diese "Maschine" die Standard-Java-Aufrufe für irgendwelche Bildschirmdarstellung umsetzt auf die jeweilige Plattformerfordernis, oder es auch selbst übernimmt. Mit C++ hättest du den Vorteil, das es im Prinzip schneller ist, weil Java (zwar nicht grundsätzlich, aber mit heutigen Möglichkeiten) immer noch Zwischenschritte braucht und die CPU die Java-Befehle nicht direkt ausführt. Es gibt aber sehr wohl spezielle Java-CPUs, die darauf ausgelegt sind, Java direkt auszuführen, und die sind logischerweise sehr schnell.
Also für zeitkritische Dinge nimm nicht unbedingt Java. ;) Für Applets, die im Browser laufen, nimm nur Java.
Und (naja, doch 3 Fragen... ;o) 3.) Was ist für einen Anfänger wie mich am besten geeigent um ne echte Programmiersprache zu lernen? Ich 'kann' bisher nur php, und perl...
PHP und Perl sind echte Programmiersprachen. Man kann tolle Dinge damit machen, und das teilweise auf wesentlich elegantere und kürzere Art und Weise, als das bei C++, C oder Java der Fall ist. Da PHP und Perl aber eher aufs Internet ausgerichtet sind, wäre Java irgendwie die passende Ergänzung dazu, oder? Du kannst natürlich auch was ganz anderes lernen, z.B. Pascal, Python, Lisp, Fortran,...
- Sven Rautenberg