He heredado un amplio portfolio web mal diseñado en mi trabajo. La mayoría de las páginas están escritas en Perl ya que la mayoría de los datos que se ingieren, procesan y muestran en el sitio vienen en forma de archivos planos que luego deben ser minuciosamente regexados y basados en datos en nuestras bases de datos MySQL y Oracle.Entornos web de lenguaje mixto
Como el primer gerente capacitado en TI de este entorno, me estoy ocupando de eliminar los sitios web y establecer alguna estructura para el proceso de desarrollo. Una de las opciones que me han dado es elegir si continuar o no en Perl. Existe un gran talento interno para Java y PHP es bastante fácil de aprender. He considerado quitarles las riendas a los desarrolladores y dejarles elegir el idioma que quieran usar para sus páginas, pero parece que podría ser un problema si el chico que eligió PHP es golpeado por un autobús y nadie más puede arreglarlo.
Con el paso de los años, los programadores de Perl se vuelven cada vez más difíciles y la complejidad de mantener el código Perl heredado de los desarrolladores anteriores cuyo foco principal puede haber sido simplemente abrir una página es consumir muchos recursos. Otro administrador anterior (no informático) se centró más en la respuesta rápida y la gratificación inmediata de las páginas en lugar de asegurarse de que se realizara correctamente la primera vez (desde entonces ha sido promovido fuera de nuestra sucursal).
El servidor de producción es solaris. MySQL tiene la mayoría de nuestros datos, pero los nuevos proyectos han comenzado a usar Oracle cada vez más (para datos GIS). Los servidores web son universalmente Apache. Vivimos en una intranet desconectada de internet regular. Nuestro desarrollo se lleva a cabo de forma ágil e iterativa.
Cualquiera que sea el idioma elegido para avanzar, existen recursos para volver a capacitar al personal de desarrollo existente. No importa qué, los datos que entren en nuestro entorno tendrán que ser eliminados hasta la muerte, por lo que Perl no desaparecerá en el corto plazo. Mi pregunta a la comunidad es, ¿cuáles son los pros y los contras de los siguientes lenguajes para el entorno de desarrollo web definido anteriormente: Perl, PHP, Java, Python, e --introduzca su idioma favorito aquí--. Si tuviera que hacer todo de nuevo, ¿qué configuración de idioma habría elegido?
Ediciones y aclaraciones: Permítanme aclarar un poco sobre mi publicación original. No estoy tirando todo. Se me ha dado la oportunidad de ajustar el rumbo del barco a lo que creo que es un rumbo mejor. Incluso si elijo un nuevo idioma, el código Perl estará disponible por algún tiempo.
Hipotéticamente hablando, si elijo Assembly como mi nuevo idioma (jaja) tendré que acelerar los viejos desarrolladores, probablemente enviándolos a algunas clases básicas de ensamblaje. Las nuevas páginas/proyectos estarían en el nuevo idioma y las páginas/proyectos antiguos tendrían que jugar bien con las nuevas páginas/proyectos. Algunos podrían ser reescritos algún día en el nuevo idioma, algunos nunca podrán ser cambiados.
Lo que probablemente siempre será en Perl serán las secuencias de comandos de análisis que escribimos hace años para examinar y la información de la base de datos de los archivos planos. Pero está bien porque no interactúan con las páginas web, sino que se interconectan con la base de datos.
Gracias a todos por su contribución, hasta ahora ha sido muy útil.
Catalyst también es ideal para trabajos web que necesitan unir bits heredados. Cosas como Catalyst :: Controller :: WrapCGI y Catalyst :: View :: PHP están diseñadas específicamente para proporcionar este tipo de pegamento. – singingfish