CoffeeScript

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
CoffeeScript
Pojawienie się {{{data}}}
Paradygmat wieloparadygmatowy: bazujący na prototypach, imperatywny, funkcyjny, skryptowy
Typowanie dynamiczne, słabe
Implementacje {{{implementacje}}}
Pochodne {{{pochodne}}}
Aktualna wersja stabilna 1.7.1
Aktualna wersja testowa {{{wersja testowa}}}
Twórca Jeremy Ashkenas
Licencja {{{licencja}}}
Platforma sprzętowa wieloplatformowy
Platforma systemowa wieloplatformowy
http://coffeescript.org

CoffeeScript to język programowania kompilowany do JavaScriptu. CoffeeScript dodaje lukier składniowy zainspirowany przez Ruby'ego i Pythona aby zwiększyć czytelność kodu. Język oferuje także bardziej wyrafinowane funkcje, takie jak przetwarzanie tablic i dopasowywanie do wzorców. Ponieważ CoffeeScript kompiluje się do JavaScriptu, programy mogą być krótsze o około 1/3 bez strat dla szybkości działania[1]. Na dzień 2 maja 2011 CoffeeScript należy do najbardziej obserwowanych projektów na Githubie[2].

CoffeeScript cieszy się stosunkowo dużą popularnością w społeczności programistów Ruby'ego. Jest używany produkcyjnie przez 37signals[3]. CoffeeScript jest domyślnym językiem po stronie klienta w Ruby on Rails od wersji 3.1.[4] Brendan Eich stwierdził, że CoffeeScript miał wpływ na jego rozważania o przyszłości JavaScriptu[5].

Przykłady[edytuj | edytuj kod]

Typowy fragment kodu JavaScript z użyciem biblioteki jQuery

$(document).ready(function() {
  // Kod inicjalizacyjny
});

W CoffeeScript słowo kluczowe function jest zastąpione przez symbol ->. Wcięcia zastępują nawiasy klamrowe, podobnie jak w Pythonie. Dodatkowo, najczęściej nawiasy mogą być pominięte. Analogiczny do powyższego fragment kodu w CoffeeScript wygląda następująco:

$(document).ready ->
  # Kod inicjalizacyjny

Lub krócej

$ ->
  # Kod inicjalizacyjny

Przypisy

  1. Read Write Hack. Interview with Jeremy Ashkenas, Jan 7, 2011
  2. Github. Popular Watched Repositories
  3. Carson, Ryan. "New Rails-like Framework from 37signals for HTML5 Mobile Apps", Think Vitamin blog, Nov 8, 2010
  4. Peek, Joshua. Tweet by Rails Core Team Member on Apr 13, 2011
  5. Eich, Brendan. "Harmony of My Dreams"

Linki zewnętrzne[edytuj | edytuj kod]