Ich bin ein ziemlich erfahrener Programmierer, der versucht, Webentwicklung zu lernen. Ich versuche, eine clientseitige Webanwendung zu entwickeln, die svg oder canvas für Grafiken verwendet. Ich habe beschlossen, den Anwendungscode in Coffeescript zu schreiben. Ich kenne weder Javascript noch Coffeescript.
Wie wichtig ist es, Javascript für die Coffeescript-Webentwicklung zu kennen? Trete ich wahrscheinlich auf ein grässliches Problem, bei dem ich Javascript verstehen muss? Kann ich problemlos mit Javascript-APIs von Coffeescript arbeiten?
Edit : Ich könnte die Grundlagen von Javascript in einer Woche leicht erlernen. Ich bin eher besorgt, dass Javascript viele versteckte scharfe Kanten zu haben scheint. In der seltsamsten Frage zu Sprachfunktionen von StackOverflow ist Javascript eine der am häufigsten verwendeten Sprachen. Es hat ein ungewöhnliches Objekt- und Klassenmodell. Es gibt nicht offensichtliche Regeln für den Namensumfang. Ich finde, es dauert mehr als eine Woche, bis ich wirklich eine Sprache beherrsche.
Ich werde an einem kleinen einfachen Projekt arbeiten, um die Webentwicklung zu lernen. Wäre es besser für mich, Javascript oder Coffeescript zu verwenden? Ich denke, auf lange Sicht bevorzuge ich Coffeescript, aber ich bin bereit, mit Javascript zu beginnen, wenn ich ein gründliches Verständnis von Javascript benötige, um Coffeescript verwenden zu können.
class
bewirkt das Schlüsselwort in CS nichts Magisches. Es verwendet einfach JavaScripts native prototypische Vererbungsmechanismen. Aus diesem Grund würde ich empfehlen, zumindest zusätzliche Kenntnisse über einige JavaScripts zu haben, die weniger aussagekräftig sind.Antworten:
Ich denke, es wäre nicht unbedingt notwendig, aber Sie würden langfristig Straßensperren treffen, wenn Sie dies nicht tun.
Sie müssen verstehen, was unter der Haube passiert und worauf der CoffeeScript-Compiler reagiert, da dies von den Browsern (vorausgesetzt, es handelt sich um die Verwendung von CoffeeScript in einer Browserumgebung) interpretiert werden muss. Das heißt, es ist auch das, was Sie zum Debuggen benötigen , insbesondere wenn man bedenkt, dass CoffeeScript relativ neu ist und wir möglicherweise immer noch auf einige Ecken und Kanten und Fehler in seinem Transkriptionsmechanismus stoßen. Wenn Sie keine maßgeschneiderten Debugging-Tools zum Debuggen verwenden, müssen Sie den generierten JavaScript-Code durchgehen, um mit Firebug oder Chrome Dev Tools oder der JS-Konsole Ihrer Wahl zu debuggen. In einigen Fällen können Sie sehen, wie der JS-Fehler direkt mit der Quell-CoffeeScript-Anweisung zusammenhängt. In anderen, da die Transkription nicht trivial ist,
Nehmen Sie es so: Sie können sehr gut Software in Java und C # entwickeln, ohne jemals eine Low-Level-Entwicklung durchgeführt zu haben. Sie haben jedoch eine sehr schlechte Zeit, um zu verstehen, was passiert und warum Sie auf Leistungsengpässe und Speicherprobleme stoßen, wenn Sie keine Ahnung haben und nicht wissen, was die Laufzeiten dieser Sprachen im Hintergrund für Sie tun müssen, und Welchen Teil der Vermutung könnten sie vermasseln, weil sie einfach keine Wunder vollbringen können.
Wenn Sie JavaScript lernen, werden Sie feststellen, wie unglaublich schwierig es sein kann, als es ursprünglich scheint, und Sie werden CoffeeScript für seine knappe und saubere Syntax noch mehr zu schätzen wissen :)
quelle
Du fragst:
Ich kann eindeutig sagen, ja. Wenn Sie etwas Interessantes tun, müssen Sie im Allgemeinen irgendwann zumindest verstehen, was in den Ebenen unter Ihnen vor sich geht. (Manchmal kann Google + Ausschneiden + Einfügen Sie retten, aber Sie möchten nicht der Typ sein.)
Jeder "einigermaßen erfahrene Programmierer", der sich dann eine neue Sprache aneignet, sollte nicht allzu lange brauchen. JavaScript ist eine ziemlich einfache Sprache. Alles, was schwierig ist, kommt von der Umgebung, in der es ausgeführt wird: nämlich von mehreren verschiedenen Webbrowsern mit unterschiedlichen Ideen, wie Dinge zu tun sind.
Viele der im Web enthaltenen "How to" -Informationen werden mit Blick auf JavaScript verfasst, sodass Sie wahrscheinlich eine leichtere Zeit haben, wenn Sie lernen, wie Sie JavaScript lesen und in das entsprechende CoffeeScript übersetzen.
Um ehrlich zu sein, wenn Sie nicht absichtlich versuchen, unwissend zu bleiben, werden Sie wahrscheinlich JavaScript als Nebeneffekt der Arbeit mit CoffeeScript erlernen. Also fang einfach schon an.
quelle
Da " die goldene Regel von CoffeeScript lautet: 'Es ist nur JavaScript' ", empfehle ich zumindest eine grundlegende Vertrautheit mit JavaScript. Schauen Sie sich insbesondere Douglas Crockfords kleines Buch JavaScript: The Good Parts an . Sie können sich auch Crockfords eigene großartige Einführungspräsentation ansehen .
CoffeeScript fasst die guten Teile von JavaScript in einem anderen Paket zusammen: " CoffeeScript ist ein einfaches Gedankenexperiment, um sich eine Sprache vorzustellen, die eine minimale Syntax für das schöne Objektmodell aufweist, das JavaScript zugrunde liegt. " Sie müssen nicht alle Details kennen, gerade genug, um zu verstehen, dass JavaScript selbst keine klassenbasierte objektorientierte Sprache ist. Es gibt überhaupt keinen Unterricht. Stattdessen werden " Prototypen " verwendet, wodurch sich einige Unterschiede zu anderen OO-Sprachen ergeben. Jeremy Ashkenas gereinigt einige der schlechten Teile von JavaScript - Syntax auf, einige Verbesserungen hinzugefügt, und machte es ein bisschen mehr Python -esque.
JavaScript hat einige bekannte "Fallstricke", auf die Sie achten müssen. Ansonsten ist es eine großartige Sprache und wird heute sehr häufig verwendet. Wir hätten AJAX oder jQuery unter anderem nicht ohne.
Viel Glück mit deinem CoffeeScript!
quelle
Ja. Es ist nicht das Ende der Welt, wenn Sie nicht, aber ja.
Warum? Zunächst einmal ist JavaScript sehr einfach zu erlernen. Ich habe buchstäblich 4 Tage gebraucht, um es zu lernen (naja, das meiste davon). Außerdem halte ich es für wertvoller als CoffeeScript. Ich glaube wirklich nicht, dass Sie CoffeScript brauchen. Aber es ist immer noch ein gutes Werkzeug.
quelle
Es hängt davon ab, ob.
Wenn CoffeeScript JavaScript ausreichend abstrahiert, sodass Sie es nicht kennen müssen (wie C #, das Intermediate Language abstrahiert), können Sie in CoffeeScript alles tun, was Sie möchten, ohne JavaScript zu lernen.
Aber meine Erfahrung zeigt mir, dass ich, egal wie oft ich versuche, mich vor JavaScript zu schützen, wenn es um Clients geht, manchmal wirklich die Hände schmutzig machen und reines JavaScript schreiben muss.
Ja, du hast recht. JavaScript-Syntax ist zwar einfach und Sie können es in einem schwachen lernen, aber es dauert Jahre, um sie zu meistern.
Meiner Meinung nach ist CoffeeScript nicht ausgereift genug, um alle JavaScript-Feinheiten vollständig zu umschließen. Daher riskiere ich nicht, nicht direkt mit JavaScript zu lernen oder zu arbeiten.
quelle
Die coffeescript-Dokumentation definiert coffeescript in Bezug auf das entsprechende Javascript. Wenn Sie kein Javascript verstehen, verstehen Sie auch kein Coffeescript.
quelle