El Bazar

Todo | Linux | General | Java
« Las patentes atacan... | Main | Un desgraciado fraca... »

20040120 Tuesday January 20, 2004

Demasiado XML

Todos somos tarde o temprano víctimas de las modas. Uno de estos abusos está en la programación en un script basado en XML, algo en lo que seguramente ha influido mucho Ant. Por ejemplo por ese motivo Maven, la nueva herramienta de construcción de proyectos de Jakarta, utiliza también XML como lenguaje, y gana así compatibilidad con los scripts en Ant. Otra influencia notable es sin duda Jelly, una extensión de los conceptos de Ant que permite introducir en un script XML elementos más complejos como control de flujo con bucles y condicionales, variables, funciones, etc.

Leyendo un mensaje reciente de la lista de usuarios de Maven me he encontrado con la siguiente frase de Jason van Zyl, uno de los desarrolladores:

"Ya no soy un fan de Jelly. Ya sé que hay gente que parece estar enamorada de la programación en XML pero creo que es el mayor error que he cometido con Maven, algo que nos has costado mucho. No cometeré errores similares en el futuro".

No puedo estar más de acuerdo. Llevo dos años trabajando en un proyecto donde la personalización con un script es un elemento crucial. Influenciado por la experiencia de éxito de Ant concebí un script basado en XML para que los usuarios (de alto nivel) pudiesen utilizar las tareas que les proporcionaba el lenguaje, que eran como plugins (al estilo Ant). Desde hace ya unos meses sustituimos este lenguaje por un script que ahora es compatible con Python, todo ello gracias a un excelente proyecto open source llamado Jython que combina ambos lenguajes.

Python tiene una sintaxis tan clara (ni { ni } ni ; en el código), es tan incremental (inicialmente no necesitas aprender conceptos como las clases para empezar a trabajar) y tan productivo (no necesitas compilar y puedes probar el código sobre la marcha en una consola interactiva) que ahora nuestros usuarios lo prefieren a la alternativa en XML. Encima para nosotros es más fácil trabajar con Jython, nos cuesta menos mantener el código y sólo tenemos que diseñar un API que desde el script es ya directamente accesible. Tampoco tenemos que educar desde cero a los usuarios porque ya tienen un montón de recursos disponibles sobre Python, sólo les enseñamos como funciona ese API sencillo. Y a medida que los usuarios con la práctica adquieren pericia tienen a su disposición toda la potencia de Python, como una amplia librería estandard para que hagan scripts que nos sorprendan a nosotros mismos.

Desde Maven ya se está hablando de substituir el script XML por otro lenguaje más adecuado como BeanShell, Groovy o Jython, conservando la compatibilidad con el script XML como mínimo inicialmente. También en su día el tema levantó interés en el equipo de Ant. Espero que sepan adaptarse a pesar del coste que supone una refactorización así, si no lo hacen ellos lo harán otros.

Esta era una entrada combinada, un mea culpa público y unas palabras de ánimo para Ant y Maven.

(2004-01-20 22:18:40.0) Permalink Comentarios [0]

URL de la referencia: http://weblogs.javahispano.org/jmrus/entry/demasiado_xml
Comentarios:

Enviar un comentario:

Nombre:
Correo electrónico:
URL:

Su comentario:

Sintaxis HTML: Deshabilitado