CoffeeScript

CoffeeScript
Siglă.
Data primei versiuni 13 decembrie 2009
Paradigmă Multi-paradigmă
Autor Jeremy Ashkenas
Ultima versiune 2.5.1 (31 ianuarie 2020)
Tastare Dinamic , slab
Influențată de JavaScript , Python , Ruby , Haskell , YAML
Influențat MoonScript
Scris in CoffeeScript
Sistem de operare Cross-platform
Licență Licență MIT
Site-ul web coffeescript.org
Extensie de fișier cafea și litcoffe

CoffeeScript este un limbaj de programare , care se compilează în JavaScript . Limbajul adaugă zahăr sintactic inspirat de Python , Ruby și Haskell pentru a îmbunătăți concizia și lizibilitatea JavaScript, adăugând în același timp caracteristici precum filtrarea modelelor sau listele de înțelegere .

Rezultatul este compilat în JavaScript în mod previzibil, iar programele pot fi scrise cu mai puțin cod (de obicei cu o treime mai puține linii) fără niciun efect asupra vitezei de execuție. De cand16 martie 2011, CoffeeScript se află pe lista Cele mai populare proiecte GitHub .

Limba are o popularitate relativ mare în comunitatea Ruby. Suportul pentru CoffeeScript este inclus în versiunea 3.1 a Ruby on Rails . În plus, Brendan Eich a citat CoffeeScript ca o influență asupra ideii sale despre viitorul JavaScript. În 2018, CoffeeScript este mai puțin utilizat decât în ​​anii precedenți, dar a adus o contribuție semnificativă la evoluția limbajului JavaScript.

Istorie

13 decembrie 2009, Jeremy Ashkenas a făcut primul Git commit al CoffeeScript cu comentariul: „  commit inițial al limbajului misterios  ”. Compilatorul a fost scris în Ruby. 24 decembrie 2009, a lansat prima versiune numerotată și documentată, 0.1.0. 21 februarie 2010, versiunea 0.5 a fost lansată, înlocuind compilatorul Ruby cu un compilator scris în CoffeeScript pur. În acest moment, proiectul a atras alți câțiva colaboratori la GitHub , iar paginile site-ului au fost vizualizate de peste 300 de ori pe zi.

24 decembrie 2010, Ashkenas a anunțat lansarea versiunii stabile 1.0.0 pe Hacker News , site-ul unde a fost anunțat pentru prima dată proiectul.

Exemple

Teste și înțelegeri

Pentru a calcula IMC-ul lui Barry, un jucător de baschet amator, facem de obicei așa ceva (aici în JavaScript ):

var masse = 72; var taille = 1.86; var IMC = masse/taille/taille; if ((18.5 < IMC) && (IMC < 25)) { alert('Barry a une corpulence normale'); }

CoffeeScript vă permite să combinați cele două teste într-unul singur:

masse = 72 taille = 1.78 IMC = masse/taille/taille if 18.5<IMC<25 then alert 'Barry a une corpulence normale'

sau, mai firesc pentru cei obișnuiți cu limba engleză,

masse = 72 taille = 1.78 IMC = masse/Math.pow taille, 2 alert 'Barry a une corpulence normale' if 18.5<IMC<25

Bucle și înțelegeri

În general, implementarea algoritmului lui Euclid folosește o buclă ca (aici, în Python):

def pgcd(a, b): x, y = a, b while y > 0: x, y = y, x % y return x

Acest lucru este posibil și în CoffeeScript; dar acesta are și o buclă până la :

pgcd = (a,b) -> [x,y] = [a,b] [x,y] = [y,x%y] until y is 0 x

O buclă for poate fi adesea înlocuită cu o listă de înțelegere . De exemplu, pentru a calcula pătratele primelor numere impare (adică al căror restul de modulo 2 este egal cu 1), putem folosi una dintre următoarele propoziții:

Cataramă clasică for n in [1..10] if n%2 is 1 then alert n*n Listează în înțelegere alert [n*n for n in [1..10] when n%2 is 1] Cu un pas de 2 alert [n*n for n in [1..10] by 2]

Funcții și jQuery

Codul JavaScript pentru a inițializa biblioteca jQuery este:

$(document).ready(function() { // Le code d'initialisation va ici });

Sau, mai simplu:

$(function() { // Le code d'initialisation va ici });

În CoffeeScript, cuvântul cheie functioneste înlocuit cu simbolul ->, iar indentarea este utilizată în locul acoladelor, ca în Python sau Haskell . Parantezele pot fi de obicei omise. Deci, fragmentul de mai sus poate fi scris, în CoffeeScript:

$(document).ready -> # Le code d'initialisation va ici

Sau:

$ -> # Le code d'initialisation va ici

Compilare

Compilatorul CoffeeScript a fost scris în CoffeeScript de la versiunea 0.5 și este disponibil ca utilitar Node.js  ; totuși, compilatorul de bază nu necesită Node.js și poate fi utilizat în orice mediu JavaScript . Una dintre alternativele la utilitarul Node.js este Coffee Maven Plugin , un plugin pentru motorul de producție Apache Maven . Acest plugin folosește Mozilla Rhino , un motor JavaScript scris în Java .

Site-ul oficial, CoffeeScript.org , are un buton „Încercați CoffeeScript” în bara de navigare; făcând clic pe acesta se deschide o fereastră modală care vă permite să introduceți codul CoffeeScript, să vedeți rezultatul în JavaScript și să îl încercați direct în browser. Site-ul js2coffee oferă traducere bidirecțională.

Anexe

Articole similare

linkuri externe

Note și referințe

  1. „  Versiunea 2.5.1  ” ,31 ianuarie 2020(accesat la 1 st februarie 2020 )
  2. The Changelog. Episodul 0.2.9 - CoffeeScript cu Jeremy Ashkenas „Copie arhivată” (versiunea Internet Archive 22 iulie 2018 ) , 23 iulie 2010
  3. (în) Martin Heller , „  Întoarce-ți nasul la Dart și mirosi CoffeeScript  ” , JavaWorld , InfoWorld18 octombrie 2011( citiți online , consultat la 9 februarie 2012 )
  4. Open Hub , (site-ul web), consultat18 iulie 2018
  5. Citiți Scrieți Hack. „  Interviu cu Jeremy Ashkenas  ” ( ArhivăWikiwixArchive.isGoogle • Ce să faci? ) (Accesat la 12 aprilie 2013 ) , 7 ianuarie 2011
  6. Github. Repositoare populare urmărite „Copie arhivată” (versiunea Arhivă Internet 22 iulie 2018 )
  7. Peek, Iosua. Tweet de la Rails Core Team Member pe 13 aprilie 2011
  8. Eich, Brendan. „ Armonia viselor mele
  9. Eich, Brendan. „ Prezentarea mea JSConf.US
  10. Github. „comiterea inițială a limbajului misterios”
  11. Știri despre hackeri. Anunț CoffeeScript 1.0.0 postat de Jeremy Ashkenas pe24 decembrie 2010
  12. Știri despre hackeri. Anunț original CoffeeScript postat de Jeremy Ashkenas pe24 decembrie 2009
  13. https://jashkenas.github.com/coffee-script/#installation