Lucrez acuma la un proiect Ruby on Rails cu PosgreSQL, AngularJS, CofeeScript, fiind obisnuit cu limbaje cu sintaxa de C(C#, JavaScript), mi s-a parut un pic diferit CofeeScript, incadrandu-l din punct de vedere al sintaxei in aceeas familie cu Ruby, Python, asa ca am inceput sa caut documentatie, pe pluralsight.com, egghead.io nu am gasit nimica, momentan ma bazez pe documentatia oficiala:
Eu am lucrat la un moment dat la un proiect ce folosea Coffee; chiar dacă nu mi-a ridicat prea multe probleme, nici n-aș putea spune că am fost vreodată nerăbdător să mai interacționez cu așa ceva.
(Dacă ești obișnuit cu C#, cred că te-ai împăca foarte bine cu Typescript.)
A avut ceva succes în lumea Rails, dar asta înainte ca ES6, Typescript, Elmscript și altele să ia avânt. Eu unul consider că e cam pe ducă
Ca să-ți răspund la întrebare: sintaxa în sine e … uhm, interesantă. Chiar dacă nu-s fanul limbajelor bazate pe indentare (e.g. Python), m-aș obișnui cu ea. De nevoie.
What’s this? A language for people who aren’t developers? Jeez:
/**
* Determine if a variable is defined and its value is different than NULL
*
* @param mixed item The var/variable to check
*/
function isSet(item ) {
if (typeof item !== 'undefined' && item !== null) { return true;}
return false;
}
/** Determine if a variable is defined and its value is, in actuality, NULL
*
* @param mixed item The value/variable to check
*/
function isSetNull(item) {
if (typeof item !== 'undefined' && item === null) { return true;}
return false;
}
if (isSet(mind) && isSetNull(world)) {
solipsism = true;
}
Observ un trend de a inventa limbaje care sunt mai apropiate de propoziții decât de logică binară, limbaje care încurcă un dezvoltator sănătos și promovează… nu știu, persoanae non-tehnice.
True though wrt CofeeScript - e pe duca din cauza ca ES6/ES7/TypeScript/Flow au devenit OK. Care-i o chestie buna IMO, nu neaparat pe partea de sintaxa, cat ca era un fel de hack&fix. Nu mai e asa nevoie de hacking si fixing, nu mai e nevoie nici de CS.