Para mi, lo mejor es un sistema Linux con apache y Java... Es lo mas estable, pero quizás también lo más difícil de aprender a manejar... quizás requiere más tiempo.
En fin... en el mercado laboral la cosa es distinta. Quizás los informáticos vemos mejor un sistema linux por ser Gratuito, opensource y bastante eficiente, pero el problema es el siguiente: Cuando salgas a trabajar, tu jefe no-informático va a tener su ordenador de escritorio con su sistema windows, con sus herramientas office y con acceso a las herramientas de microsoft... La gracia de microsoft, es que hasta un mandril podría interactuar con su sistema informático... como por ejemplo, modificar la base de datos con Acces... entre otros. Esto lleva a que los grandes empresarios opten por estas herramientas cuando de negocios se trata. Gracias a ello, el saber .NET tiene gran campo laboral...
Por vocación algunos prefieren .NET... Para algunos es más fácil de entender... No es para nada malo, pero se encierra totalmente en el mundo de MICROSOFT... Con Java, estoy seguro que se pueden lograr muchas cosas más... Para los que se inician en la lógica de la programación con C, lo que en su mayoría ocurre, es mejor Java, ya que es mucho más familiar...