Seu argumento é falacioso. O fato do acesso a código nativo no Java ser tão complexo
só causa problemas até hoje para a plataforma - o contrário está longe de ser verdade.
Java é até hoje o patinho feito quando o assunto é, por exemplo, escrever uma aplicação integrada
ao desktop. Enquanto o AWT foi um enorme fracasso, o Swing tomou proporções épicas. Enquanto com
a CLR é possível fazer o binding de uma API escrita com C em poucos minutos, com Java leva uma semana.
Só comparar, por exemplo, os bindings para QT, KDE, GNOME e GTK+ para Java e Mono. Os do Java são
continuam uma piada. E a Java-ObjC bridge? Uma porcaria. Para o Mono existem 4 projetos distintos de binding.
Porém isso não se limita a aplicações desktop. Embutir Java dentro de outras aplicações é um sofrimento tão grande
por conta do JNI que ninguém mais tenta.
Essa atitude altista por parte da Sun limitou em muito o alcance da plataforma de forma que hoje é basicamente financeiramente
inviável inovar com ela. Basta ver que as principais plataformas lançadas nos últimos 3 anos (PS3, XBOX360, Wii, iPhone) não existe
nem sinal de rodarem Java.
Por fim, argumentar que essa decisão foi tomada pensando no melhor para os desenvolvedores pois alguns poderiam abusar disso é
muita condescendência, infantilização, mas também tratá-los por estúpidos. Foi uma decisão errada e o Stanford Ego prevaleceu.