14 marzo, 2008

Javascript más rígido o Javascript más flexible

Desde que apareciese el borrador de ECMAScript 4 (ES4 PDF), hay montado un lio enorme en la comunidad de Javascript sobre la forma correcta de crecer del lenguaje.

En los últimos meses, Javascript a cobrado un auge tremendo gracias a las librerías (Mootools, jQuery, Prototype...) y, sobre todo, a que la tecnología conocida como AJaX ha despegado finalmente. Pero Javascript ha crecido en la forma de un lenguaje dinámico y muy flexible y la propuesta que aparece en ES4 se mueve en otra dirección muy distinta: incluir los mecanismos que aparecen en otros lenguajes (tipado estático, clases, herencias, ...) para aumentar el impulso del lenguaje.

Mucha gente cree que un movimiento en esa dirección lo aleja de la esencia que lo ha hecho triunfar y abogan por un crecimiento en esa flexibilidad tan característica que sólo Javascript posee.

Mi opinión es que el núcleo del lenguaje debe permanecer como está y no crecer en la dirección que se propone para ES4. Entiendo que ahora mismo hay una demanda del lenguaje tal que su crecimiento natural es hacia el servidor de forma que se use el mismo lenguaje en ambos lados (ver Helma). Para tener éxito y desplazar a PHP, ASP, Perl, Ruby, Python, Java y todos los demás, es necesario que los programadores se sientan a gusto con el nuevo lenguaje y no echen nada en falta. Pero asegurar eso ampliando el lenguaje directamente supone una traición al espíritu simplista que permite hacer las florituras sintácticas que otros lenguajes no permiten. Creo que en la nueva versión debería mantenerse el núcleo del lenguaje y ampliar su funcionalidad a partir de librerías estandarizadas hasta conseguir emular el comportamiento que programadores de otros lenguajes puedan necesitar.

Por todo ello, pienso, al igual que Zumbrunn (Evolving ES4 as the universal scripting language) que no se trata de un todo o nada. Más bien se debe poder fragmentar pudiendo añadir o quitar secciones a voluntad, pero dejando limpio el núcleo básico. Ensuciar un estándar puede llevarlo a la muerte, justo como SOAP, del que tanto se llegó a hablar y del que apenas se ha llegado a implementar nada (demasiado complicado para ser práctico). KISS. Keep It Simple, Stupid.

Publicar un comentario en la entrada

Últimos links en indiza.com