miércoles, 18 de agosto de 2010

JAVA versus NET

Mucho se dijo sobre este tema. Sin embargo, en el fondo las conclusiones no son claras, dado que es muy dificil encontrar opiniones objetivas de alguien que maneje los dos entornos, ya que por lo general prefiere uno u otro.

Hace unas semanas presencié un WebCast (que se puede descargar de aquí) que en un par de horas compararon ambas tecnologías desde muy diversos aspectos. Lo interesente es que fueron dos expositores (uno por Net y otro por Java) pero en un clima muy ameno y bastante objetivo, ya que eran amigos y expertos cada uno en lo suyo. Se comparó la versión 4.0 de Net contra la 6.21 de Java (la última disponible en ambos casos).

Les resumo a continuación las conclusiones que pude sacar para los que no puedan ver ese seminario o bien quieran un resumen de sus conclusiones.

Exposición
Se compararon ambos productos desde muy diferentes aspectos. Los principales fueron:
  • Runtime de ejecución: modalidad y características soportadas
  • Tipos de datos contemplados
  • Programación: arquitectura general
  • Gestión de excepciones
  • Orientación a objetos: características soportadas
  • Herramientas: IDE
  • Costos de los IDE
  • Ofertas de trabajo en mercado: disponibilidad de recursos
  • Frameworks disponibles
  • Documentación: soporte disponible
  • Performance: velocidad de ejecución y peso de los programas
  • Compatibilidad y migración entre versiones: complejidad de las actualizaciones
  • Desarrollo de aplicaciones de escritorio
  • Desarrollo de aplicaciones web
  • Utilización en general
Primero se desarrollaba la característica en cuestión en Net y luego en Java. Terminado el tema (en general, no más de 10 minutos cada uno) la audiencia votaba por la plataforma que a su entender cubría mejor el punto en cuestión. Net superó a Java en la mayoría (casi el 90%) de los casos.

De 200 usuarios aproximadamente que presenciaron el seminario, más del 60% votó al final a favor de Net. Estimo que esto se debe a que la versión actual de Net es más potente que la versión actual de Java. Además, es más simple y rápida la programación en Net gracias a su IDE (Visual Studio), el cual no se compara con los disponibles para Java.

Conclusiones
Quedó claro que ambas tecnologías están en constante evolución, por lo cual la comparación realizada ahora tal vez sea obsoleta con la siguiente versión de cualquiera de las dos. Es decir, que la versión actual de Net supera en varios aspectos a la de Java. Sin embargo, esas ventajas desaparecerán en su mayoría con la versión 7 de Java, que tal vez supere a Net en algunos aspectos, los cuales serán cubiertos en la siguiente versión de este último...

Básicamente se puede lograr lo mismo con ambas plataformas. Se pueden construir buenos o malos sistemas con cualquiera de ellas. La elección deberá basarse en aspectos más sutiles y no en la simple pregunta de "¿quién es mejor: Net o Java?", porque sinceramente la respuesta no es absoluta e imparcial. La elección deberá basarse en el conocimiento o dominio de una u otra plataforma, la familiaridad con sus IDEs, los costos totales de licenciamiento del proyecto, la disponibilidad de resursos, los frameworks desarrollados o adquiridos para uno u otro lenguaje.

Cualquiera sea la herramienta que decida utilizar, es recomendable basar sus sistemas en algún framework de alto nivel, tanto más conveniente cuanto más compleja o grande sea la aplicación a desarrollar, ya que ambas plataformas, aunque potentes, son altamente sofisticadas.


Lic. Oscar Valente
CTO ItSouth Consultores
www.itsouth.com.ar


Fuentes
Seminario Java vs Net
http://cid-bef06dffdb192125.office.live.com/browse.aspx/2010%2006%2015%20Evento%20Java%20vs%20Net
Java EE
http://es.wikipedia.org/wiki/Java_EE
Net
http://es.wikipedia.org/wiki/Microsoft_.NET
Frameworks
http://fwnet.blogspot.com/2009/11/framework-para-desarrollo-de.html