jueves, abril 23, 2009

¿Java, PHP o .Net (VB.Net/C#)?

Hoy en día estos 3 son considerados como "Los Grandes" y yo pienso que hay razón en decirlo, aprender uno de estos es una de las cosas que debemos hacer si queremos estar al día por unos 5 años más en el mundo del desarrollo de software, ahora bien, siempre nos planteamos la pregunta ¿cuál de ellos?, a lo que respondo como siempre lo hago: "depende!".
En mi opinión, sería ideal conocerlos todos y enfocarnos en uno o dos, ya que pienso que todos tienen sus ventajas, desventajas y propósitos diferentes:

  • PHP: Está diseñado para la programación web, en lo que es definitivamente uno de los lenguajes más utilizados en su área (por no decir el más utilizado), es rápido, versátil, multiplataforma, libre, gratis.

  • Java: es un lenguaje de propósito general (desktop, web, movil, etc), bien tipado, robusto, excelentes IDEs, muchísimos framewors, multiplataforma, gratis, libre.

  • .NET (VB.Net / C#):Multipropósito, no es multiplataforma (aunque el proyecto MONO está bastante avanzado, lo que nos permite usar C# u otros lenguajes en otras plataforma), bastantes frameworks, pocos IDEs la mayoría propietarios.

Cualquiera por el que se inclinen sumará bastantes puntos en su currículo y además garantizará su valor en el mercado actual, aunque viendo las características de cada uno, pienso que java lleva una ventaja significativa. Veamos un ejemplo:

Tenemos que desarrollar una aplicación web que gestione una agenda de contactos para ser usada por el departamento de ventas, por lo que decidimos -debido a la sencillez- del asunto usar PHP, realizamos el software y el personal del departamento antes mencionado empieza a utilizarlo. Con el pasar del tiempo la empresa crece, se crean nuevos departamentos e ingresa más personal, por lo que la demanda de la aplicación aumenta y sale un nuevo requerimiento: “El nuevo departamento de RRHH necesita acceder a la aplicación desde una interfaz Desktop (no veo la razón del porque esto, pero creanme que me ha pasado)”.

Viendo este requerimiento, y con la decisión que tomamos anteriormente nos vemos en la necesidad de realizar una nueva aplicación desktop que se conecte a la BBDD.

Si la opción seleccionada anteriormente hubiese sido Java o .Net, y asumiendo que la arquitectura de la aplicación está hecha en capas (como debe ser), la parte de la lógica de negocios la tuviéramos aislada de la presentación web, así como el acceso a los datos, por lo que sólo nos tocaría construir las nueva interfaz desktop. ;)

2 comentarios:

  1. Estoy deacuerdo en lo que se dice el tema, personalmente solo conosco PHP aunque quisiera desarrollar mis conocimientos en cuando al desarrollo de software.

    ResponderBorrar
  2. Estoy deacuerdo en lo que se dice el tema, personalmente solo conosco PHP aunque quisiera desarrollar mis conocimientos en cuando al desarrollo de software.

    ResponderBorrar