Por que no me gusta CoffeeScript

Ayer @chillicoder y @mauropm tenian unos cuantos twetts sobre que CoffeeScript es bastante chido, y tiene unas cosas bastante agradables como:

alert "I knew it!" if elvis?

Lo cual ejecuta la funcion alert si y solo si elvis existe. Es una sintaxis agradable y por lo cual en algun punto me intereso aprenderlo a usar.

Hay casos como agregar un callback al evento click en jQuery no cambia mucho la sintaxis. En CoffeeScript es:

$('.account').click(()->alert('account was click'));
$('.account').click(function() {
  alert('account was click');
});

Sin embargo en la mayoría de los casos, lo que escribo es javascript asíncrono y en la mayoría de los casos uso funciones, para ser mas exacto, funciones como la siguiente:

asyncSomething = function(x, callback) {
  x = x * getSomeAsyncvalue();
  return callback(x);
};

y despues la ejecutamos en algun otro lado de la aplicacion de esta manera:

asyncSomething(5, function(data) {
  return console.log(data);
});

Son patrones normales de javascript, sobretodo cuando hacemos cosas que implican animaciones de eventos, emisores de eventos y ajax.

En CoffeeScript se veria de la siguiente manera:

asyncSomething = (x, callback) -> x = x*getSomeAsyncvalue(); callback x;

y en otro lado de mi aplicación la ejecutaremos de esta manera.

asyncSomething(5,(data) -> console.log(data));

El (data) -> console.log(data) al llamar mi funcion es algo que no me agrada, mas alla llamar un parametro despues de hacer esto es imposible. Entonces el siguiente ejemplo:

setTimeout(function(){
   DoSomething()
},1000);

En CoffeeScript se veria como:

setTimeout(()->DoSomething(),1000)

Lo cual primero que nada causa un error de parser y después el declarar ()-> en lugar de function(){} me causa un poco de dolor de cabeza, principalmente si agregas mas de una linea de código. Simplemente me agradan mis parentesis, mis llaves({) y me agrada la sintaxis de javascript.

Para empezar a checar CoffeeScript tienen muchos ejemplos en su pagina, donde todos los ejemplos tiene una opción de load donde pueden empezar a escribir su código y decidir si les gusta o no.

En mi caso, creo que hay algunos casos que la sintaxis es muy bonita, en algunos casos que la sintaxis no aporta mucho a lo que se hace en javascript y ,en muchos casos, solo complica la sintaxis. Espero sus opiniones de coffescript.