martes, enero 23, 2007

.NET vs Java

.NET vs Java Technology. Image by the Bangkok UniversityRetomando el curso acerca de artículos técnicos, empecemos el año haciendo esta vez referencia a una polémica batalla, de la cual en lo personal no había notado su existencia, shame on me, en la cual MS (.NET) y Sun (Java) están involucrados.


Desde ya hace tiempo había tenido interés en aprender a desarrollar en Java, por lo que se escucha de lo robusto y seguro de este lenguaje de programación, y su aplicación en el área de desarrollo para dispositivos móviles, tales como celulares, PDAs, y similares. De hecho, cuento con un diplomado en esta tecnología, del cual en realidad no me siento muy orgulloso puesto que el tema en realidad no lo domino tal y como suena, ya que no lo he puesto en práctica, dado que a mis manos no han llegado trabajos para desarrollar sobre esta tecnología, además, el trabajo no me deja mucho tiempo tampoco como para ponerme a desarrollar por mi mismo, y si así nos vamos, por excusas no hay problema.


No obstante, ahora mismo estoy aprendiendo .NET, y para los que no conocen muy bien acerca del tema, me estoy refiriendo especifícamente a C#, el cual es la punta de flecha de la tecnologia .NET (desde el punto de vista de los lenguajes de programacion que soporta), la cual en sí es un compendio de tecnologías desarrolladas por MS soportando varios de sus lenguajes de programación así como los de otras compañías.


E-mail survey of 966 Computerworld subscribersAhora bien, basado en esta introducción, puedo decir que al momento, cuento con conocimientos básicos de Java y de .NET, basado en esto, y en los comentarios que he escuchado de algunos compañeros de estudio, surge esta pregunta, que luego de investigación, veo que es una batalla que existe en la actualidad, y ya desde hace años: .NET o Java?


Más que tratar las diferencias de ambas tecnologías (información que encontré en la sección .NET vs Java del artículo Introducción a la plataforma .NET y Mono escrito por Patxi Echarte, el cual me pareció bastante completo), deseo exponer mi punto de vista.


MS, hoy en día, está en cada esquina, se puede encontrar casi en cualquier lado del mundo tecnológico: consolas de video juegos, computadoras, softwares, lenguajes de programación... lo que la mayoría, sino todos discute es la forma como MS "monopoliza" el mercado. En esta ocasión, estamos hablando de POO (Programación Orientada a Objetos).


Al realizar una búsqueda en la web por POO, una de las primeras coincidencias que vamos a encontrar se relaciona con Java. MS no se podía quedar atrás, y hasta cierto punto, su solución (C# / .NET) parece tener ciertas ventajas sobre Java. Solo por encima, algunas de las ventajas que .NET ofrece sobre Java son:

  • interoperabilidad de múltiples lenguajes

  • fácil intercomunicación entre aplicaciones (mediante la implementación de SOAP. La teoría dice que la capa de Web Services es uno de los puntos fuertes de .NET)

  • fácil entrega: los assemblies generados son archivos auto-identificables a diferencia de los paquetes generados por Java


Hace semanas, unos compañeros discutían entre cuál herramienta es mejor, si Flash de Macromedia o Swish, de repente, podemos estar ante una discusión algo relativamente semejante.


No obstante, algo cierto podría decir, MS, por la razón que sea, está presente en cada máquina; de igual forma, por la razón que sea, sus herramientas y tecnologías son las más esparcidas entre un grupo de desarrolladores. De la misma forma, por alguna razón, las herramientas (los IDEs) que desarrollan para desarrolladores, son relativamente más amigables que otras soluciones disponibles. Por esta razón quizás entonces hay que darle un voto a MS, y en este caso en particular, a .NET.


Hasta donde pude investigar, MS se ha dado cuenta que estaba quedando fuera del mercado porque todo lo que desarrollaba podía correr únicamente sobre plataformas MS, y poco a poco, ha estado haciendo alianzas robustas para que sus aplicaciones y las aplicaciones que se desarrollan sobre esta plataforma, pueda correr sobre las plataformas competidoras; un ejemplo de ello, el proyecto MONO.


Qué opinan al respecto: .NET o Java?


4 comentarios:

Anónimo dijo...

Tengo entendido que Java es gratuito, si sabes Java puedes hacer Negocio y llegar a ser un empleador, si sabes .NET siempre serás un empleado y a lo más que puedes aspirar es a ser un intermediario entre Microsoft y clientes, o sea, que eres un empleado independiente, pero empleado al final.

VIVA EL OPEN SOURCE ... :-)

(me inspiré mientras escuchaba el soun track de la guerra de las Galaxias) :-|


El ninja!!!

Santiago dijo...

Tus conocimientos de java son demasiado basicos para desarrollar un juicio, sugiero que estudies mas antes de decidirte por una plataforma, ni siquiera se si te refieres a java como plataforma o lenguaje y no conoces las opciones de despliegue de JEE

ecs dijo...

Ciertamente los conocimientos con los que cuento acerca de Java son básicos y no aplicados, así como los de .NET, no obstante sería interesante contribuir con datos y hechos acerca de la publicada rivalidad en el mercado entre las mencionadas tecnologías, mas que criticar el interés por incentivar un debate para recopilar información acerca de estas tecnologías.

Saludos.

Santiago dijo...

Aquí va mi opinión sobre Java versus C#: http://goo.gl/fb/y11HV.