Quanto è rischioso utilizzare Coffeescript senza conoscere Javascript? [chiuso]

15

Sono un programmatore ragionevolmente esperto che cerca di imparare lo sviluppo del web. Sto cercando di sviluppare un'applicazione web lato client che usi svg o canvas per la grafica. Ho deciso che mi piacerebbe scrivere il codice dell'applicazione in Coffeescript. Non conosco Javascript o Coffeescript.

Quanto è necessario conoscere Javascript per lo sviluppo web di Coffeescript? È probabile che io abbia qualche problema grave che richiede di capire Javascript? Posso lavorare felicemente con le API Javascript di Coffeescript?

Modifica : Potrei facilmente imparare le basi di Javascript in una settimana. Sono più preoccupato del fatto che Javascript sembra avere molti spigoli nascosti. Nella caratteristica della lingua più strana domanda su StackOverflow Javascript è una delle lingue più comuni. Ha un oggetto insolito e un modello di classe. Ha regole di scoping del nome non ovvie. Trovo che ci vuole più di una settimana per farmi conoscere davvero una lingua.

Ho intenzione di lavorare su un piccolo progetto semplice per imparare lo sviluppo del web. Sarebbe meglio usare Javascript o Coffeescript? Credo che a lungo termine preferirò il Coffeescript, ma sono disposto a iniziare con Javascript se per questo avrò bisogno di una conoscenza approfondita di Javascript per usare Coffeescript.

    
posta Peter Graham 23.08.2011 - 03:11
fonte

6 risposte

12

Suppongo che non sarebbe assolutamente necessario, ma se non lo fai, rischi di bloccare i roadblock.

Devi capire cosa sta succedendo sotto il cofano e ciò che il compilatore di CoffeeScript trascrive, poiché è quello che i browser (supponendo stiamo parlando di usare CoffeeScript in un ambiente browser) dovranno interpretare. Il che significa che è anche quello di cui hai bisogno per debug , specialmente considerando che CoffeeScript è abbastanza recente e possiamo ancora incontrare alcuni errori e bug nel suo meccanismo di trascrizione. Inoltre, se non si utilizzano strumenti di debug su misura per il debug, è necessario passare attraverso il codice JavaScript generato per eseguire il debug utilizzando Firebug o Chrome Dev Tools o la console JS scelta. In alcuni casi sarai in grado di vedere come l'errore JS si collega direttamente all'istruzione CoffeeScript di origine. In altri, poiché la trascrizione non è banale, sarà difficile da capire.

In questo modo: puoi sviluppare molto bene il software in Java e C # senza aver mai fatto uno sviluppo di basso livello. Eppure sarebbe un pessimo momento capire cosa sta succedendo e perché si verificano colli di bottiglia e problemi di memoria se non si ha idea e non si è in grado di formulare un'ipotesi su ciò che i runtime di questi linguaggi devono fare per voi in background, e quale parte delle supposizioni possono rovinare perché semplicemente non riescono a far miracoli.

Inoltre, se impari JavaScript, ti renderai conto di quanto sia incredibilmente più difficile di quanto possa sembrare in origine, e apprezzerai CoffeeScript per la sua sintonia chiara e pulita ancora di più:)

    
risposta data 23.08.2011 - 03:30
fonte
4

Chiedi:

Am I likely to hit some gnarly problem which requires me to understand Javascript?

Posso dire, inequivocabilmente, sì. In generale, se stai facendo qualcosa di interessante, ad un certo punto avrai almeno bisogno di capire cosa sta succedendo nei livelli sotto di te. (A volte Google + taglia + incolla può salvarti, ma non vuoi essere quel tipo.)

Qualunque "programmatore ragionevolmente esperto" che poi sta prendendo in mano una nuova lingua non dovrebbe richiedere molto tempo. JavaScript è un linguaggio abbastanza semplice. Tutto ciò che è difficile proviene dall'ambiente in cui è in esecuzione: ovvero, diversi browser Web con idee diverse su come fare le cose.

Molte delle informazioni su "come" che troverai sul web verranno scritte pensando a JavaScript, quindi probabilmente avrai un tempo più semplice se impari a leggere JavaScript e a tradurlo nell'equivalente CoffeeScript.

Onestamente, a meno che tu non cerchi deliberatamente di rimanere ignorante, probabilmente finirai per imparare JavaScript come effetto collaterale del lavoro in CoffeeScript. Quindi, per iniziare, già.

    
risposta data 23.08.2011 - 05:22
fonte
4

Perché " La regola d'oro di CoffeeScript è: 'È solo JavaScript' ," Consiglio almeno un familiarità di base con JavaScript. In particolare, dai un'occhiata al piccolo libro di Douglas Crockford , JavaScript: le parti buone . Puoi anche guardare la meravigliosa presentazione introduttiva di Crockford a riguardo.

CoffeeScript racchiude fondamentalmente le parti buone di JavaScript in un altro pacchetto: " CoffeeScript è un semplice esperimento mentale per immaginare un linguaggio che espone una sintassi minima per il bellissimo modello di oggetto che sottostà a JavaScript. "Non è necessario conoscere tutti i dettagli, quanto basta per capire che JavaScript, a sua volta, è non a linguaggio orientato agli oggetti basato sulla classe. Non ha classi affatto. Al contrario, utilizza " prototipi " e ciò rende alcune differenze rispetto ad altre lingue OO. Jeremy Ashkenas ha ripulito alcune delle parti danneggiate della sintassi JavaScript, ha aggiunto alcuni miglioramenti e ha reso un po 'più Python -esque.

JavaScript ha alcuni noti "trucchi" a cui prestare attenzione. Altrimenti, è un ottimo linguaggio ed è molto usato, oggi. Non avremmo AJAX o jQuery senza di esso, tra le altre cose.

Buona fortuna con il tuo CoffeeScript!

    
risposta data 23.08.2011 - 17:21
fonte
3

Sì. Non è la fine del mondo se non lo fai, ma sì.

Perché? Innanzitutto, JavaScript è davvero facile da imparare. Mi ci sono voluti letteralmente 4 giorni per impararlo (beh, la maggior parte). Inoltre, credo che sia più prezioso di CoffeeScript. Veramente non penso che tu nemmeno abbia bisogno di CoffeScript. Ma è ancora un buon strumento.

    
risposta data 23.08.2011 - 05:05
fonte
0

Dipende.

Se CoffeeScript astrae abbastanza JavaScript, così non devi saperlo (come C # abstracting Intermediate Language), quindi sì, puoi fare tutto quello che vuoi in CoffeeScript senza imparare JavaScript.

Ma la mia esperienza mi dice che non importa quanto provo a fuggire da JavaScript, quando si tratta di client, a volte ho davvero bisogno di sporcarmi le mani e scrivere puro JavaScript.

Sì, hai ragione. mentre la sintassi JavaScript è facile e puoi impararla in modo debole, ma ci vogliono anni per essere padroneggiata.

IMHO, come vedo CoffeeScript, non è abbastanza maturo per avvolgere completamente tutte le complessità JavaScript. Quindi, non rischio di non imparare o lavorare direttamente con JavaScript.

    
risposta data 23.08.2011 - 06:40
fonte
0

La documentazione del coffeescript definisce Coffescript in termini di javascript equivalente. Se non capisci javascript, non capirai nemmeno il coffeescript.

    
risposta data 23.08.2011 - 21:59
fonte