Banner
Java vs .Net
This is my site Written by Proaño Navarrete on 4 julio, 2011 – 1:02 pm

Comparativa por características:

– Transportabilidad: la versión 3.0 de .Net sólo está disponible en el .Net framework (creo que en Mono [máquina virtual de .Net en GNU/Linux] sólo está disponible la 2.0). No hay transportabilidad real. Repito: NO hay TRANSPORTABILIDAD real con .Net, lo que indica que estarás «encadenado» a Windows de por vida (o confiar en el proyecto Mono).

– Antigüedad: Java tiene bastantes años más que .Net, por lo que es más sencillo encontrar código por internet, manuales y tutoriales.

– Licencias: la máquina virtual de Java openjdk tiene licencia libre, y la oficial de Sun tiene CDDL (licencia casi de open source). Hay muchas máquinas virtuales comerciales y libres; desde la de IBM (comercial) hasta las libres de kaffe o la de GNU. .Net es código cerrado totalmente.

– Entornos de desarrollo: aunque Visual Studio  es muy profesional, es sencillo y está en español, hay más entornos tanto para Linux como Windows para el lenguaje Java. Además, el sistema de plugins de Eclipse permite que este IDE vaya incrementando su funcionalidad más.

– Eficiencia: creo que la máquina de Java es más eficiente que el CLR de .Net, pero no te puedo dar muchos enlaces.

– Libería de clases: .Net contiene más lenguajes que la JVM de Sun; de hecho, ésta sólo tiene Boo y Java. Java tiene un mayor número de clases para usar que por ejemplo, C#, pero toda clase y método que esté en un lenguaje de la plataforma .Net está en los demás, luego en realidad la cantidad de clases es inmensa. Pienso que Java gana, pero tampoco tengo fuentes, sólo es mi opinión.

– Sintaxis: considero horrible la sintaxis de C# (cada método o función suele empezar en mayúscula) aunque se puede programar en Visual Basic o C++ en .Net. Por lo demás, la sintaxis de Java me gusta más.

– Características de los lenguajes de cada VM: igualados, aunque C# tiene algunas características interesantes, como por ejemplo las propiedades en las clases, diferenciar entre variables pasadas por referencia o variab les sólo de salida, el uso de «override» en los métodos para sobreescribirlos… En realidad son pequeños detalles, que facilitan un poco el leer código. Pienso que .Net es superior en programación web, pero… no es multiplataforma.

En definitiva, ambos son muy similares pero Java tiene una experiencia difícil de superar y éste último se puede ejecutar sin problemas en Windows, GNU/Linux y MacOS.

Leave a Reply


Ir a la barra de herramientas