Un buen código en C es más robusto y eficiente que en Java™; pero en Java™ es mucho más fácil escribir código rápidamente de forma que sea medianamente robusto, aunque probablemente tendrá tendencia a ser ineficiente. Muchas de las construcciones del lenguaje Java™ que se aprenden al principio son nefastas para la eficiencia, y ese es sin duda uno de los hechos que ha agrandado la fama que tiene Java™ de lento (como por ejemplo concatenar varios String en un bucle en lugar de usar StringBuffer).
Mucha gente empieza con java y no se da cuenta de lo divertido que es la programacion en otros lenguages obteniendo mejores resultados y haciendo un codigo mas potente..., yo fui uno de los que empezo en con java... y lo se..
De todas formas hay maneras de simplificar el proceso de desarrollo en otros lenguajes existen cosas como recolectores de basura para C/ObjC/C++ y amplias librerías para casi cualquier tarea imaginable. Ya para comentario final: no me imagino a nadie haciendo, por ejemplo, un programa que haga algún tipo de control de hardware poco más que básico en Java™...
En realidad ni tengo por que llamarlo basura.. todo depende siempre de lo que vayas a hacer.. el limewire es un exito pero mira no puedes tener mas de dos programas de java en ejecucion, se te muere el pc ^^... bueno de p2p