vor allem das anwendungsgebiet ist bei java ein ganz anders als bei cpp/c#.
c-programmiersprachen -> games, speziell 3d anwendungen und sonstige performance-sensible anwendungen
java -> webapplikationen, besonderns sicherheitssensible anwendungen
java hat durch die datenkapselung und klassenbildung schon grundlegend sicherheitskonzepte implementiert, die man bei c-basienden programmiersprachen erst explizit einbinden bzw. selber implementieren müsste. die übersichtlichkeit, die beim umsetzen grosser projekte die teamarbeit ungemein unterstützt, verkürzt die benötigte zeit der implementierung ungemein. vom details, wie dem automen aufbau bei java, der eine bisher unerreichte wiederverwertbarkeit von klassenbibliotheken ermöglicht, sowie die problemlose portierung, fange ich garnicht erst an...
ich schätze mal die wenigensten anwendungen, die man als fertig ausgebildeter programmierer erstellen muss, sind auf so sehr auf performance ausgelegt, dass die "lahmarschigkeit" von java ins gewicht fällt. des weiteren kann man ggf. noch die JIT- compiler nutzen und damit nochmal einen enormen performanceschub rausholn. meiner erfahrung nach sind dem kunden sind in der regel stabilität, sicherheit und schnelle umsetzung am wichtigsten, da dies faktoren sind, die sich dirket auf die kosten des projektes auswirken.
just my 2 cents
edit:
hab eben mal ins buch reingeschaut und ich find einfach super geschrieben und werds sicher mal durchlesen. beim ersten überflogenen codeschnipsel musste ich erstmal unweigerlich grinsen:
#include <string.h>
#include <iostream.h>
class Ganz_unsicher {
public:
Ganz_unsicher() { strcpy(passwort, "geheim"); }
private:
char passwort[100];
};
void main()
{
Ganz_unsicher gleich_passierts;
char *boesewicht = (char*)&gleich_passierts;
cout << "Passwort: " << boesewicht << endl;
}