CoffeScript

Introduzione

Questo linguaggio è un interessante e curioso, per alcuni versi, strumento. Il suo target infatti non è l'esecuzione diretta del proprio codice nativamente verso la piattaforma sottostante o attraverso un macchina virtuale. Il suo scopo è produrre codice Javascript. Si tratta quindi di uno strumento intermedio che vuole rendere più agevole la scrittura del codice in un altro linguaggio prendendone le migliori caratteristiche ed aggiungendovene altre particolarmente espressive che invece latitano in JavaScript. Il manifesto sulla home ufficiale parla chiarissimo in questo senso. La cosa fondamentale che viene sottolineata è che la compilazione in Javascript non aggiunge nè toglie nulla alle finalità del nostro programma, viene generato codice di qualità e che girerà senza problemi su tutte le piattaforme.
L'idea non è nuova e comunque molti linguaggi stanno cercando di avere anche javascript tra i loro target. Ad esempio i nuovi Ceylon e Kotlin oppure Fantom. Anche Scala sta puntando in quella direzione. Insomma si tratta di un approccio non unico ma in questo caso si tratta di un obiettivo molto focalizzato che non necessita dell'apprendimento di altri concetti o di paradigmi particolari. Certo non è consigliabile come primo linguaggio, non si tratta di uno strumento general-purpose. Però può essere interessante per semplificarsi la vita nel caso in cui Javascript non vi soddisfi appieno. A parte il fatto che potete usare tranquillamente codice Javascript all'interno di CoffeeScript.
L'ispirazione sintattica di CoffeScript viene da Ruby e Python e piace molto ai programmatori che usano quei linguaggi. Tra l'altro Rails 3, se ben ricordo, supporta nativamente CoffeScript per cui avrete un piccolo vantaggio se vi toccherà lavorare in quegli ambiti.
CoffeScript non è, come detto l'unico linguaggio ad avere un backend Javascript. E, in aggiunta vi sono altri strumenti che puntano a sostituirsi a Javascript senza averlo come target collaterale. Parliamo ad esempio di Dart, di Google, o di Haxe. O del recentissimo Typescript, direttamente da Microsoft. Coffescript ha la particolarità della sua sintassi, piuttosto lontana da quella del C e basata sulla indentazione piuttosto che sulla punteggiatura; questa cosa piace molto perchè la scrittura del codice risulta più pulita e semplice (ovviamente non tutti la pensano così). Rispetto a Dart o TypeScript infine si tratta di un prodotto maturo e piuttosto collaudato. Aggiungiamoci che la sua curva di apprendimento è abbastanza dolce e il quadro, molto positivo, è completo.