de todas maneras java tampoco lo hace tan mal con el manejo de memoria... sobre todo con la memoria que queda sin asunto con el recolector de basura... de otra manera seria demasiado lento por que la maquina virtual gasta mucha memoria para cumplir el "escribelo una vez... correlo donde sea"... en cambio C corre directo en lenguaje de maquina al ser compilado... por lo cual se ahorra la maquina virtual que necesita java...