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.