Je suis un programmeur raisonnablement expérimenté qui essaie d'apprendre le développement Web. J'essaie de développer une application Web côté client qui utilise svg ou canvas pour les graphiques. J'ai décidé que j'aimerais écrire le code d'application dans Coffeescript. Je ne connais ni Javascript ni Coffeescript.
Est-il nécessaire de connaître Javascript pour le développement Web de Coffeescript? Suis-je susceptible de rencontrer un problème noueux qui m'oblige à comprendre Javascript? Puis-je travailler avec bonheur avec les API Javascript de Coffeescript?
Edit : je pourrais facilement apprendre les bases de Javascript en une semaine. Je suis plus préoccupé par le fait que Javascript semble avoir beaucoup d'arêtes vives cachées. Dans la question des fonctionnalités linguistiques les plus étranges sur StackOverflow, Javascript est l'une des langues les plus courantes. Il a un objet et un modèle de classe inhabituels. Il a des règles de portée de nom non évidentes. Je trouve qu'il me faut plus d'une semaine pour vraiment connaître une langue.
Je vais travailler sur un petit projet simple pour apprendre le développement web. Serais-je mieux d'utiliser Javascript ou Coffeescript? Je pense qu'à long terme, je préférerai Coffeescript, mais je suis prêt à commencer par Javascript si je vais avoir besoin d'une compréhension approfondie de Javascript pour utiliser Coffeescript.
class
mot clé dans CS ne fait rien de magique; il utilise simplement des mécanismes d'héritage prototypiques natifs JavaScripts. Pour cette raison, je recommanderais d'avoir au moins une connaissance auxiliaire de certaines "fonctionnalités" plus obscures de JavaScripts.Réponses:
Je suppose que ce ne serait pas absolument nécessaire, mais si vous ne le faites pas, vous frapperiez des barrages routiers à long terme.
Vous devez comprendre ce qui se passe sous le capot et ce que le compilateur CoffeeScript transcrit, car c'est ce que les navigateurs (en supposant que nous parlons d'utiliser CoffeeScript dans un environnement de navigateur) devront interpréter. Ce qui signifie que c'est aussi ce dont vous aurez besoin pour déboguer , en particulier compte tenu du fait que CoffeeScript est assez récent et que nous pouvons encore rencontrer des aspérités et des bogues dans son mécanisme de transcription. De plus, si vous n'utilisez aucun outil de débogage sur mesure pour le débogage, vous devrez parcourir le code JavaScript généré pour déboguer à l'aide de Firebug ou de Chrome Dev Tools ou de la console JS de votre choix. Dans certains cas, vous pourrez voir comment l'erreur JS est directement liée à l'instruction CoffeeScript source. Dans d'autres, la transcription étant non triviale,
Prenez-le de cette façon: vous pouvez très bien développer des logiciels en Java et C # sans avoir jamais fait de développement de bas niveau. Pourtant, vous auriez du mal à comprendre ce qui se passe et pourquoi vous rencontrez des goulots d'étranglement de performances et des problèmes de mémoire si vous n'avez aucune idée et que vous ne pouvez pas faire une supposition éclairée sur ce que les temps d'exécution de ces langues doivent faire pour vous en arrière-plan, et quelle partie de la conjecture ils peuvent bousiller parce qu'ils ne peuvent tout simplement pas faire de miracles.
De plus, si vous apprenez JavaScript, vous vous rendrez compte à quel point il peut être incroyablement plus difficile qu'il n'y paraît à l'origine, et vous apprécierez encore plus CoffeeScript pour sa syntaxe concise et propre :)
la source
Tu demandes:
Je peux dire, sans équivoque, oui. En général, si vous faites quelque chose d'intéressant, à un moment donné, vous aurez au moins besoin de comprendre ce qui se passe dans les niveaux inférieurs à vous. (Parfois, Google + couper + coller peut vous sauver, mais vous ne voulez pas être ce type.)
Tout "programmeur raisonnablement expérimenté" qui choisit alors une nouvelle langue ne devrait pas vous prendre très longtemps. JavaScript est un langage assez simple. Tout ce qui est difficile vient de l'environnement dans lequel il s'exécute: à savoir, plusieurs navigateurs Web différents avec des idées différentes sur la façon de faire les choses.
De nombreuses informations sur le "mode d'emploi" que vous trouverez sur le Web seront écrites en tenant compte de JavaScript, vous aurez donc probablement plus de facilité si vous apprenez à lire JavaScript et à le traduire dans l'équivalent CoffeeScript.
Honnêtement, à moins que vous n'essayiez délibérément de rester ignorant, vous finirez probablement par apprendre JavaScript en tant qu'effet secondaire du travail dans CoffeeScript. Alors commencez déjà.
la source
Parce que " La règle d'or de CoffeeScript est: 'C'est juste du JavaScript' ", je recommande au moins une familiarité de base avec JavaScript. En particulier, jetez un œil au petit livre de Douglas Crockford , JavaScript: The Good Parts . Vous pouvez également regarder l'excellente présentation d'introduction de Crockford à ce sujet.
CoffeeScript enveloppe essentiellement les bonnes parties de JavaScript dans un package différent: " CoffeeScript est une expérience de pensée simple pour imaginer un langage qui expose une syntaxe minimale pour le beau modèle d'objet qui sous-tend JavaScript. " Vous n'avez pas besoin de connaître tous les détails, juste assez pour comprendre que JavaScript, lui-même, n'est pas un langage orienté objet basé sur une classe. Il n'a pas de cours du tout. Au lieu de cela, il utilise des « prototypes », ce qui fait certaines différences par rapport aux autres langages OO. Jeremy Ashkenas a nettoyé certaines des mauvaises parties de la syntaxe JavaScript, a ajouté quelques améliorations et l'a rendu un peu plus Python .
JavaScript a quelques "pièges" bien connus à surveiller. Sinon, c'est une excellente langue et est très utilisée aujourd'hui. Nous n'aurions pas AJAX ou jQuery sans cela, entre autres.
Bonne chance avec votre CoffeeScript!
la source
Oui. Ce n'est pas la fin du monde si vous ne le faites pas, mais oui.
Pourquoi? Eh bien tout d'abord, JavaScript est vraiment facile à apprendre. Il m'a littéralement fallu 4 jours pour l'apprendre (enfin, la plupart). De plus, je pense qu'il est plus précieux que CoffeeScript. Je ne pense vraiment pas que vous ayez même besoin de CoffeScript. Mais c'est toujours un bon outil.
la source
Ça dépend.
Si CoffeeScript résume assez JavaScript, pour que vous n'ayez pas besoin de le savoir (comme le langage intermédiaire de résumé C #), alors oui, vous pouvez faire ce que vous voulez faire dans CoffeeScript sans apprendre JavaScript.
Mais mon expérience me dit que peu importe combien j'essaie de fuir JavaScript, en ce qui concerne le client, j'ai parfois vraiment besoin de me salir les mains et d'écrire du JavaScript pur.
Oui vous avez raison. tandis que la syntaxe JavaScript est facile et vous pouvez l'apprendre dans un faible, mais cela vous prend des années à maîtriser.
À mon humble avis, comme je vois CoffeeScript, il n'est pas assez mature pour envelopper toutes les subtilités JavaScript totalement. Donc, je ne risque pas de ne pas apprendre ou travailler directement avec JavaScript.
la source
La documentation coffeescript définit coffescript en termes de javascript équivalent. Si vous ne comprenez pas javascript, vous ne comprendrez pas non plus coffeescript.
la source