Perché coffeescript invece di javascript? [chiuso]

23

Penso che in qualche modo costruire una lingua che compila in un'altra lingua sia una cattiva idea fin dall'inizio, invece di imparare javascript correttamente fin dall'inizio. Guarda in Douglas Crockfords Good Parts e poi sei agganciato. E javascript non è difficile - scrivere un buon codice è difficile indipendentemente dalla lingua! Se scrivi codice scadente in javascript, allora probabilmente scriverai codice scadente in coffeescript o lattescript o quale sarà il sapore del giorno. E dire che la sintassi del coffeescript è bella mi passa. Mi piacciono le mie parentesi graffe e la sintassi C - e preferirei lavorare in una lingua che è così (scusami VB!). E più giocattoli e linguaggi e quadri per fare la stessa cosa da capo non mi sembra più un progresso!

    
posta marko 12.10.2011 - 20:54
fonte

4 risposte

20

CoffeeScript è principalmente una sintassi diversa su JavaScript.

Se comprendi JavaScript e comprendi veramente JavaScript, allora puoi usare CoffeeScript se dici, preferisci spazi bianchi e ->

Considero la differenza tra JS & CS per essere lo stesso di discutere su

if (thing)
{
  // code
}

if (thing) {
  // code
}

(quest'ultimo è migliore. Chiunque faccia il primo dovrebbe essere sparato)

Ad ogni modo, il problema principale con il coffeescript consiste nel far entrare persone (principalmente da binari) e quindi scrivere coffeescript senza conoscere javascript.

Quindi coffeescript ha tutti gli stessi difetti di jQuery. Sono solo più punti di ingresso per i programmatori cattivi per scrivere più male JavaScript. Abbiamo davvero bisogno di risolvere la qualità del codice in qualche modo.

    
risposta data 12.10.2011 - 21:17
fonte
11

Esiste una concezione errata di JavaScript come linguaggio "giocattolo". Questo fa sì che le persone lo considerino come qualcosa con cui giocare, piuttosto che essere usato per qualcosa di sostanziale. Aggiungilo alla barriera bassa per l'immissione (cioè hai già un browser e un editor di testo, così puoi iniziare a scrivere JavaScript) e finisci con una massa di persone che non capiscono la lingua scrivendo grandi quantità di codice, e insultando il nome "JavaScript".

C'è è una quantità (assoluta) più alta di JS cattivo rispetto ad altre lingue a causa di questa maggiore visibilità. Le cattive abitudini diventano comuni quando il cattivo codice si propaga in tutto il Web e le persone visualizzano l'origine su pagine che non sono state controllate per la precisione o le buone pratiche e JavaScript causa un brutto nome proprio per questo.

Per questi motivi, le persone sentono il bisogno di costruire linguaggi più familiari (più "reali") che traspongono in JavaScript. Vogliono il comfort della classica OO, la tipizzazione statica e altre funzionalità che appaiono in altre lingue. Vedono le mostruosità create da programmatori inesperti che usano JS e pensano che deve essere il risultato dei "difetti fondamentali" (per citare Google) nella lingua.

< / rant >

Ad ogni modo, usa quello che vuoi. Continuerò con i miei letterali oggetto, digitazione dinamica e OO prototipo, grazie.

    
risposta data 12.10.2011 - 21:13
fonte
4

Penso che il vantaggio (disclaimer: non ho usato CoffeeScript oltre a giocare con l'esempio sul sito web) è che rende JavaScript un po 'più intuitivo per il pubblico che è in grado di soddisfare: cioè il pubblico Ruby / Python.

Personalmente non vedo la necessità di CoffeeScript, poiché mi piace la sintassi JavaScript. Tuttavia, vedo come potrebbe essere utile.

    
risposta data 12.10.2011 - 21:03
fonte
0

Se ti piace la sintassi o no è soggettivo, tuttavia il fatto è che CofeeScript si prende cura di alcuni fastidiosi JavaScript. Naturalmente, non è ancora chiaro se valga la pena introdurre una nuova lingua e affrontare il passo della compilazione.

    
risposta data 12.10.2011 - 21:12
fonte

Leggi altre domande sui tag