Após um ano de intensa atividade, o CoffeeScript ressurgiu das cinzas com o CoffeeScript 2, atualizando a linguagem para possibilitar seu uso em modernas comunidades de JavaScript.
Geoffrey Booth anunciou o lançamento em seu blog, escrevendo que o CoffeeScript 2 pretende trazer para a linguagem grande velocidade para usos modernos:
Esta nova versão do compilador e da linguagem CoffeeScript visa trazer o CoffeeScript para a era do JavaScript moderno, cobrindo lacunas na compatibilidade com JavaScript, preservando a sintaxe limpa que é a marca registrada do CoffeeScript.
Quando o CoffeeScript foi utilizado pela primeira vez, o ECMAScript 2015 ainda não tinha sido lançado, portanto, a linguagem não possuía definições de classes e "Arrow Functions" (=>).
Estes conceitos foram muito utilizados no CoffeeScript e permitiram aos desenvolvedores de JavaScript a capacidade de pensar em termos que ainda não estavam disponíveis no JavaScript. Mas os tempos mudaram e esses recursos agora existem no JavaScript.
O CoffeeScript 2 gera a saída em JavaScript moderno, incluindo classes e "Arrow Functions". Outros recursos adicionados ao CoffeeScript incluem:
- módulos;
- funções assíncronas;
- valores de parâmetro padrão;
- destruição de objetos.
Depois de muita atividade e ganho de espaço na comunidade, o CoffeeScript havia se enfraquecido. O usuário srb- do Hacker News escreveu que, "Como um fã do CoffeeScript, as coisas pareciam muito sombrias um ano ou dois atrás. Em particular, não havia motivações para novos recursos".
Jeremy Ashkenas, o criador do CoffeeScript, disse: "Se todos aqueles que fazem [usam o CoffeeScript] - ou possui bases de código existentes - esta atualização é para vocês". Enquanto o interesse na linguagem desapareceu ao longo do tempo, o CoffeeScript influenciou o JavaScript moderno que temos hoje. Brendan Eich, o criador de JavaScript, escreveu que os Arrows Functions do ES6 foram "inspiradas em parte pelo CoffeeScript".
Em entrevista à InfoQ, Geoffrey Booth diz que está muito feliz com os resultados:
Acredito que o CoffeeScript está em uma situação favorável. Não é o fenômeno de alguns anos atrás, mas isso é bom: agora podemos concentrar em fazer um JavaScript mais claro, e o ECMA pode se concentrar em recursos da linguagem. O CoffeeScript ainda é suficientemente popular e suficientemente apoiado para ser usado para qualquer projeto, e esse é o nosso objetivo com o CoffeeScript 2.