Zum Inhalt springen

CoffeeScript

aus Wikipedia, der freien Enzyklopädie
CoffeeScript
colspan="2" class="notheme" style="text-align:center; background-color:#Vorlage:Standardfarbe;" | Logo
Basisdaten
Erscheinungsjahr: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Designer: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Entwickler: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Aktuelle Version Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Typisierung: schwach, dynamisch
Beeinflusst von: JavaScript, Ruby, Perl, Python, Haskell, YAML
Beeinflusste: MoonScript, LiveScript
Betriebssystem: plattformunabhängig
Lizenz: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.

CoffeeScript ist eine Programmiersprache, deren Programme in JavaScript transkompiliert werden. Sie wird seit 2009 von Jeremy Ashkenas entwickelt.

Herkunft und Verwendung[Bearbeiten]

Angelehnt an Ruby, Python und Haskell bedient sich CoffeeScript syntaktischen Zuckers, um JavaScripts Lesbarkeit und Prägnanz zu verbessern. Außerdem führt CoffeeScript zusätzliche Funktionalität, wie z. B. Array-Zusammenfassung und Pattern Matching ein. CoffeeScript übersetzt vorhersehbar in JavaScript, Programme können kompakter (typischerweise 30 % weniger Programmzeilen) geschrieben werden, ohne dass dabei die Laufzeit-Performance beeinträchtigt wird.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Read Write Hack, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2012-05-19;.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

CoffeeScript ist zudem der offizielle JavaScript-Präprozessor von Ruby on Rails.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Linux Journal; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Aufgrund der visuell vereinfachten Syntax findet die Sprache insbesondere bei Programmier-Anfängern oder auch Designer-Frameworks, wie z. B. Framer.js Einsatz.

Code-Beispiel[Bearbeiten]

Der folgende Quelltext gibt „Hallo Welt“ aus.<ref>jashkenas.github.com: <templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Vorlage:Webarchiv/Wartung/URLSkriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden. (englisch)</ref> <syntaxhighlight lang="ruby"> alert "Hallo Welt" </syntaxhighlight>

Transkompiliert in JavaScript. <syntaxhighlight lang="javascript"> alert("Hallo Welt"); </syntaxhighlight>

Kompilierung[Bearbeiten]

Der CoffeeScript-Compiler wird ab Version 0.5 selbst in CoffeeScript geschrieben und ist für Node.js verfügbar. Der Compiler ist allerdings nicht auf Node angewiesen und kann in nahezu jeder JavaScript-Umgebung ausgeführt werden.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2009-12-27; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Literatur[Bearbeiten]

  • Trevor Burnham: CoffeeScript: Accelerated JavaScript Development. Pragmatic Programmers, 2011, ISBN 978-1-934356-78-4.
  • Andreas Schubert: CoffeeScript – Die Alternative zu JavaScript – eine kompakte Einführung. dpunkt.verlag, 2014, ISBN 978-3-86490-050-1.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />

Vorlage:HinweisbausteinVorlage:Wikidata-Registrierung