Por que coffeescript em vez de javascript? [fechadas]


24

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!


5
Então, compilar Java para bytecode e C #, VB.NET e outras linguagens .NET compilando para IL também são más idéias?
— Oded

10
A diferença é que as pessoas geralmente não programam diretamente em bytecode e IL (a menos que eu esteja enganado), enquanto a programação em Javascript é comum, daí a sua surpresa / pergunta.
— wildpeaks 12/10

14
esta "pergunta" contém três pontos de exclamação e há pontos de interrogação
— azheglov

Se você gosta de codificar em IL, então eu estou errado. Só estou pensando que o javascript é suficiente. E quando passar para o ECMAScript 5 e o modo estrito for implementado nos navegadores, será ainda melhor. Mas não estou dizendo que fazer outra coisa seja completamente errada. Eu quero uma discussão dos prós e contras, de por que você prefere algo mais do que js.
— Marko

3
___ é péssimo, estou certo?
— TRiG 23/10/12

Respostas:


21

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

if (thing)
{
  // code
}

if (thing) {
  // code
}

(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.


8
offopic : 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;)
— C69

11
it depends on the language.Eu acho que ele quis dizer com relação ao JavaScript.
— Vardhaman Deshpande

11
Também há coisas que você simplesmente não pode fazer no CoffeeScript. Você tem um controle consideravelmente menos granular sobre a criação de objetos e similares.
— Erik Reppen

Apenas adicionando ao comentário do c69, a formatação da primeira maneira pode levar a problemas reais: encosia.com/…
— Buzzology

11
(o último é melhor. Quem faz o primeiro deve levar um tiro) - Prove! O extremismo é simplesmente ruim, não importa quem, quando, onde.
— precisa saber é o seguinte

13

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.


2
Ei, mas o dardo não vai resolver todo o nosso problema! (</sarcasm>)
— Raynos

Amém a isso! (Não comentário dardo!)
— Marko

É 2018 e o JavaScript sucumbiu à pressão de class: - /
— ankush981

4

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.


11
Sim, acho que a sintaxe do ruby ​​/ python parece suspeita para mim, porque eu tenho codificado principalmente em linguagens no estilo C como Javascript, C #, PHP, actionscript e java.
— Marko

4
Parece bom para mim principalmente (exceto a sintaxe ->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.
— Wayne Molina

0

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.


6
"irritantes irritações de javascript" O CoffeeScript não fornece, apenas fornece açúcar e sintaxe. Eu posso evitar as verrugas, e eu faço.
— Raynos 12/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.