coffeescriptJá faz um tempo que eu queria vir aqui contar pra vocês que o Javascript já era. Morreu. Afundou. Não serve mais.

Quando ele morreu?, você deve estar se perguntando. Ele morreu quando foi transformado na linguagem de assembly da web, e isso aconteceu logo depois que o CoffeeScript foi inventado (cerca de 2 anos atrás) e começou a aparecer ferramental que o suportasse.

Olha o que diz Erik Meijer, segundo o Scott Hanselman num post recente:

JavaScript is an assembly language. The JavaScript + HTML generate is like a .NET assembly. The browser can execute it, but no human should really care what’s there.

ou

JavaScript é uma linguagem de assembly (ou montagem). O JavaScript + HTML gerado é como um assembly .NET. O navegador pode executá-lo, mas nenhum ser humano realmente deveria se preocupar com o que está lá.

Imagino o Victor Cavalcante se revirando ao ler isso. O chapéu até cai.

E o que é o Coffee Script? É uma linguagem plenamente compatível com Javascript (no sentido em que tudo o que o Javascript faz, ela também suporta), mas muito mais poderosa. Como ela é plenamente compatível, o resultado da sua compilação é… Javascript!

Sim, meus amigos, CoffeeScript gera Javascript. Assim, você pode escrever código com CoffeeScript, e rodar um comando no terminal/linha de comando e ver javascript gerado. Melhor que isso, pode deixar um processo olhando para seus arquivos .coffee, que sempre que salvos são compilados para .js.

E o resultado é lindo. Uma linguagem com forte influência funcional e algumas belezas que faltam forte no Javascript. Interpolação de strings, lambdas, closures, sem ponto-e-virgula, foreach (quem diria, js não tem foreach!), entre outras. E tem uma muito importante: classes! Vocês podem escrever classes com CoffeeScript, sem aqueles prototypes chatos.

Isso já seria muito bom, mas dá trabalho para os usuários do Windows, já que a principal implementação dele é feita com NodeJS, que até recentemente não rodava nativamente no Windows (e agora roda, mas CoffeeScript continua não rodando, principalmente porque algumas bibliotecas no NodeJS ainda não foram portadas). Já era possível fazer via CygWin, mas ficava meio feio. Falta ainda suporte ferramental.

Mas isso não é mais um problema para o desenvolvedor que programa com .NET. A Mindscape fez um addin para Visual Studio que permite que você trabalhe nativamente com CoffeeScript (e também com Less e SaSS). E tudo fica muito fácil de trabalhar, já que ele faz syntax highlighting e gera o arquivo .js. Fica bonito.

Ferramental para CoffeeScript no Visual Studio

Saiba mais sobre o addin aqui.

.

.

.

Acalmem-se, o Javascript não morreu. Mas para coisas mais complexas, use CoffeeScript. E seja feliz.