JavaScript, ese lenguaje que hasta hace poco parecía de juguete para hacer el chorras en nuestras webs (poner nieve cayendo en Navidad, poner el cursor en crosshair al pasar por un enlace, esas cosas), tras pasar por la adolescencia de AJAX hoy en día pretende llegar a la adultez y ponerse el traje de lenguaje serio. Cada vez surgen más herramientas por y para JavaScript, para extenderlo y llevarlo a otros ámbitos. Sobre todo desde la aparición de Node.js, se discute cada vez más entre círculos desarrolladoriles si JavaScript es una basura de lenguaje o simplemente un incomprendido que bien usado tiene mucho potencial.
En los 90 y principios de los 00 la sintaxis «basada» (marcando las distancias) en Java de JavaScript lo mismo era lo más, pero hoy en día con sintaxis minimalistas llenas de syntactic sugar en pleno apogeo, como las de Python y Ruby, tanto paréntesis y tanto corchete tiene un aspecto bastante farragoso. Ahí es donde entra CoffeeScript, una sintaxis alternativa muy limpia que compila directamente a JavaScript.
Es una delicia ver el código de ejemplo en la página oficial, convirtiendo por ejemplo lo que en JavaScript sería esto:
var countdown, num; countdown = (function() { var _results; _results = []; for (num = 10; num >= 1; num—) { _results.push(num); } return _results; })();
En esto:
countdown = (num for num in [10..1])
Pues bien, la próxima versión de Ruby on Rails, la 3.1, parece que incluirá CoffeeScript por defecto. Esto supone un importante empujón para el proyecto, ya que antes había que compilar cada uno de los archivos en CoffeeScript que usáramos para poder incluirlos como JavaScript en nuestro proyecto, algo más engorroso que sencillamente escribir código y ponerlo a funcionar como en JavaScript nativo. Ahora, al estar integrado en Rails, y siempre, claro está, que hagamos uso de este framework, escribir en CoffeeScript será tan directo como en JavaScript nativo, y definitivamente mucho más cómodo.
De momento todo esto se sabe por un commit en el repositorio GitHub de Rails, donde por cierto en los comentarios se ha armado una buena por alguna razón. Por lo visto ha sentado mal que se incluya Coffee por defecto, aun cuando si no se quiere usar siempre se tendrá el JavaScript puro y duro (bueno, si se le puede llamar «puro y duro» a JavaScript).
En definitiva, una buena oportunidad para adoptar este nuevo lenguaje que pinta tan interesante.
Vía | Commit en GitHub de Rails
Más información | CoffeeScript