sábado, marzo 11, 2006

¿PHP o Java? mmmm... creo que no es la pregunta correcta...

¿Porque creo que puedo opinar?: Tengo 4 años de experiencia con PHP;
mi tesis de la carrera de grado la hice sobre la plataforma de
Microsoft ".NET"; y Java fue el lenguaje de la carrera, además de un
curso oficial de Oracle que hice sobre Java... Por último, participé
en la creación de una aplicación empresarial (basada en tecnologías
"WEB" ) en Java.

PHP es un lenguaje "script" que en conjunto con el servidor Apache
entregan HTML y Javascript (y mucho más...) al navegador. Sus
librerías están creadas en C, (Apache también) y son increiblemente
rápidas y completas. Hay de todo. Si a esto le sumamos la estabilidad
de Linux y la base de datos freeware MySQL tenemos la plataforma
"LAMP" (Linux Apache MySQL Php).

LAMP es una solución rápida, poco costosa, probada y versatil para la
construcción de
aplicaciones.

Ahora, tengamos en cuenta algo. Hay muchas formas de hacer un
sistema... si realmente queremos crear una aplicación empresarial que
sea escalable, mantenible, flexible, probable automáticamente, que
pueda ser desarrollada en grupo, que pueda ser debugeada al detalle,
que en todo momento sepamos que esta pasando, etc... osea, control
total y aplicaciones de todos los patrones de ingeniería del
software... sin duda puede ser hecho en PHP con mucho sudor.

Ahora viene el PERO... donde Java luce:

La fundación Apache, (si, los creadores del servidor Web Apache, sin
el cual PHP no sería lo que es) creo un sub proyecto llamado Jakarta
para generar software libre basado en Java.... y ... crearon un
Servidor Web en Java..si, 100% Java, llamado Tomcat. Ojo al
piojo...estamos hablando de Apache. Respeto por favor.

Tomcat permite entregar a los exploradoes HTML, Javascript, etc
usando código Java.

Además, SUN creo la especificación J2EE.

Esta especificación no es más ni menos que un manual paso a paso sobre
como crear una aplicación empresarial con todas las características
mencionadas anteriormente. Adentro de esta especificación se encuentra
un valor incalculable. Pensemos que tiene todos los patrones de diseño
aplicados. Es increible... Bueno... SUN creo una implementación de su
propia especificación...osea un "servidor de aplicaciones"
J2EE...pago.

Luego nacio JBOSS... una implementación de la J2EE en codigo libre
(usando sourceforge.net).

Jboss usa Tomcat para entregar al navegador la interfase. JBOSS ganó
la certificación de SUN ... es decir, SUN le dio el OK a la
implementación...es 100% J2EE.

Vamos ahora de la teoría a la práctica: Teoria excelente. Practica,
excelente para el core
(corazón) de la aplicación en Java... pero la generación de interfaces
Web usando Tomcat es pesadisimo, lento, etc...un desastre al
compararlo con PHP...

¿Entonces.. cual es el ideal? Tomamos el JBOSS como servidor de
aplicaciones pero no usamos Tomcat... usamos "servicios Web" para
comunicar a Java con PHP.. PHP maneja la interface nada más...Java
todo lo demás...

¿Creen que esto es loco? Nada más claro que ver como Zend (la compañia
que más apoya a PHP), que supuestamente es la competencia de Java,
como lanzo un Framework para realizar justamente esto!!

.... Por otro lado, Zend genero en un IDE para PHP...programado
en...en...JAVA.. jajajja

No veo la hora de probar esto!

PD: A modo de chiste: Para los fanáticos del software libre... que
odian a Java por no ser libre (la máquina virtual).. por favor tiren
el último CD de las distros de Linux... En ellas viene Jakarta. Y por
favor no usen más sourceforge.net.... 6 de los 10 proyectos libres más
populares están desarrollados en Java...

PD2: Yo veo 2 bandos: Microsoft uno, el otro (los que apoyan Java),
son Oracle, IBM, SUN, Rational Software (parte de IBM...los creadores
del UML...), Google... y como si fuera poco...la comunidad de software
libre.... A la pelotita.... ¿quien ganará? jajajajja

PD3: ¿Sabian que los dos pibes que crearon Google usaron Java y Python
para hacer el algoritmo que los llevo a lo que son hoy (el Page Rank)?