Eu acho que, de alguma forma, construir uma linguagem que é compilada para outra linguagem parece uma má ideia desde o início, em vez de aprender javascript corretamente desde o início. Olhe para Douglas Crockfords Good Parts e então você está viciado. E o javascript não é difícil - escrever um bom código é difícil, independentemente do idioma! Se você escrever código de baixa qualidade em javascript, provavelmente escreverá código de baixa qualidade em coffeescript ou lattescript ou qual será o sabor do dia. E dizer que a sintaxe do café é bonita me passa. Eu gosto do meu aparelho cacheado e sintaxe C - e preferencialmente funcionaria em uma linguagem assim (desculpe, VB!). E mais brinquedos, linguagens e estruturas para fazer a mesma coisa novamente não parecem mais um progresso para mim!
fonte
Respostas:
O CoffeeScript é principalmente uma sintaxe diferente sobre JavaScript.
Se você entende JavaScript e realmente entende JavaScript, pode usar o CoffeeScript, se preferir, prefere espaços em branco e
->
Considero que a diferença entre JS e CS é a mesma que discutir sobre
(o último é melhor. Quem faz o primeiro deve levar um tiro).
De qualquer forma, o principal problema do coffeescript é fazer com que as pessoas entrem nele (principalmente dos trilhos) e depois escrevam o coffeescript sem conhecer o javascript.
Portanto, o coffeescript possui todas as mesmas falhas do jQuery. Eles são apenas mais pontos de entrada para programadores ruins escreverem mais JavaScript ruim. Nós realmente precisamos resolver a qualidade do código de alguma forma.
fonte
the latter is better. Anyone who does the former should get shot
- isso depende da linguagem - i como primeiro estilo, mas a sua não compatível com JS, que é a principal linguagem;)it depends on the language.
Eu acho que ele quis dizer com relação ao JavaScript.Há um equívoco de JavaScript como uma linguagem de "brinquedo". Isso leva as pessoas a considerá-lo como algo a ser brincado, em vez de usado para algo substancial. Adicione isso à baixa barreira de entrada (ou seja, você já possui um navegador e um editor de texto para poder começar a escrever JavaScript) e acaba tendo um monte de pessoas que não entendem o idioma que escreve quantidades de código em massa, e manchar o nome "JavaScript".
Não é uma maior quantidade (absoluta) de JS ruins do que outras línguas por causa de que o aumento da visibilidade. Os maus hábitos se tornam comuns à medida que o código incorreto se propaga pela Web e as pessoas veem a fonte em páginas que não foram examinadas por precisão ou boas práticas, e o JavaScript acaba com um nome ruim por causa disso.
Por esses motivos, as pessoas sentem a necessidade de criar linguagens mais familiares (mais "reais") que sejam transpiladas para JavaScript. Eles querem o conforto do OO clássico, digitação estática e outros recursos que aparecem em outros idiomas. Eles vêem as monstruosidades criadas por programadores inexperientes usando JS, e pensam que deve ser o resultado das "falhas fundamentais" (para citar o Google) no idioma.
</rant>
De qualquer forma, use o que quiser. Vou ficar com meus literais de objeto, digitação dinâmica e OO prototípica, obrigado.
fonte
class
: - /Eu acho que o benefício (aviso: eu não usei o CoffeeScript além de brincar com o exemplo no site) é que ele torna o JavaScript um pouco mais intuitivo para o público que atende: ou seja, o pessoal do Ruby / Python.
Pessoalmente, não vejo necessidade do CoffeeScript, pois gosto da sintaxe do JavaScript. No entanto, vejo como isso poderia ser útil.
fonte
->
e=>
), já que usei um pouco de Ruby / Python, mas acho que não devemos tentar esconder o JavaScript devido à sua onipresença. Sim, algumas delas são desajeitadas, mas a aprendizagem de JavaScript "puro" é IMO, um melhor retorno do investimento devido à proliferação de JavaScript "puro" na natureza.Se você gosta ou não da sintaxe, é subjetivo, no entanto, o fato é que o CofeeScript cuida de algumas verrugas irritantes do JavaScript. Obviamente, ainda não está claro se vale a pena introduzir um novo idioma e lidar com a etapa de compilação.
fonte