Die Plattformunabhängigkeit ist meines erachtens teilweise ein
Papiertiger. Ich kann ebenso C/C++ Programme schreiben die
genauso unter Linux/Solaris oder sonstwas laufen. Genausogut
kann ich mit java Programme schreiben, die eben nicht unter
anderen Plattformen laufen. Der einzige Vorteil von Java ist
hier, daß der Bytecode Plattformunabhängig ist.
Hmmmm, einmal ist es so, dass Java für die plattformunabhängigkeit geschrieben wurde, C++ nicht. Das wirkt sich insofern aus, dass man sich in Java anstrengen muss nicht unabhängige Programme zu schreiben (JNI), während man in C++ sich anstrengen muss plattformunabhängige Programme zu schreiben.
Unter Java ist der einzige Grund an einer Plattform zu hängen, wenn man plattformspezifische APIs über JNI verwendet. Für die meisten Aufgaben und viele Anwendungen gibt es aber native Java-APIs, deswegen ist der Einsatz von JNI eher die Ausnahme.
Unter C++ gibt es keine mir bekannte umfangreiche Klassenbibliothek/API-Sammlung die plattformunabhängig wäre (XML-Parser, Middleware-Zugriff, Datenbankzugriff etc.). Für einzelne Teilaufgaben gibt es Nischenlösungen, aber nichts in dem Umfang von Java.
Ich würde den Vorteil der Plattformunabhängigkeit nicht unbedingt in der Portierbarkeit eines Binaries sehen, aber in der Portierbarkeit des Sources, gerade in dem Bereich von Serveranwendungen in dem ich arbeite (genauer gesagt Enterprise Application Integration) passiert es nicht oft, aber man möchte dann doch mal auf Grund von wechselnden Anforderungen die Plattform wechseln, und dann ists halt recht praktisch seine Anwendungen mitnehmen zu können. 
Bzw. ermöglicht es Standard-Anwendungen die man dann einfach beim Kunden auf der jeweiligen Plattform zum Einsatz bringt.
Die Performance. Ein wirklich leidiges Problem bei Java.
Allerdings habe ich mit optimierten VM’s schon das eine oder
andere Problem gehabt, so daß ich jetzt wieder die von Sun
verwende.
Was hast du da denn eingesetzt?
Hab damit leider noch keine praktische Erfahrung, wir wollen uns jetzt aber mal TowerJ für HP-UX ansehen.
Hier möchte ich mich mal schützend vor Swing stellen. Es ist
zwar etwas langsamer als C++ oder meinetwegen Delphi, aber
durch geduldige Optimierungsarbeiten lassen sich recht
ordentliche Geschwindigkeiten erzielen.
Denke ich mir auch oft. Es gibt zwar relativ schnelle Java-Anwendungen, aber das meiste was einem über den Weg läuft ist halt nicht so toll.
Grüße, Robert