Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. CoffeeScript — Wikipédia
CoffeeScript — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

CoffeeScript
Logo.

Date de première version 13 décembre 2009 (15 ans, 327 jours)
Paradigme Multi-paradigme
Auteur Jeremy Ashkenas
Dernière version 2.7.0 (24 avril 2022)[1],[2]Voir et modifier les données sur Wikidata
Version en développement 2.0.0-alpha1 (22 février 2017)[2]
2.0.0-beta1 (14 avril 2017)[2]
2.0.0-beta2 (17 mai 2017)[2]
2.0.0-beta3 (30 juin 2017)[2]
2.0.0-beta4 (4 août 2017)[2]
2.0.0-beta5 (2 septembre 2017)[2]Voir et modifier les données sur Wikidata
Typage Dynamique, faible
Influencé par JavaScript, Python, Ruby, Haskell[3], YAML[4]
A influencé MoonScript
Écrit en CoffeeScriptVoir et modifier les données sur Wikidata
Système d'exploitation Multiplate-forme
Licence Licence MIT[5]Voir et modifier les données sur Wikidata
Site web coffeescript.orgVoir et modifier les données sur Wikidata
Extension de fichier coffeeVoir et modifier les données sur Wikidata
modifier 

CoffeeScript est un langage de programmation, qui se compile en JavaScript. Le langage ajoute du sucre syntaxique inspiré par Python, Ruby et Haskell[3] afin d'améliorer la brièveté et la lisibilité du JavaScript, tout en ajoutant des fonctionnalités comme le filtrage par motif ou les listes en compréhension.

Le résultat est compilé de façon prévisible en JavaScript, et les programmes peuvent être écrits avec moins de code (typiquement un tiers de lignes en moins) sans effet sur la vitesse d'exécution[6]. Depuis le 16 mars 2011, CoffeeScript est dans la liste des projets les plus populaires de GitHub[7].

Le langage a une popularité relativement importante dans la communauté de Ruby. Le support de CoffeeScript est inclus dans la version 3.1 de Ruby on Rails[8]. De plus, Brendan Eich a cité CoffeeScript comme une influence sur son idée du futur du JavaScript[9],[10]. En 2018, CoffeeScript est moins utilisé que dans les années précédentes, mais a largement contribué à l'évolution du langage JavaScript.

Histoire

[modifier | modifier le code]

Le 13 décembre 2009, Jeremy Ashkenas a effectué le premier commit Git de CoffeeScript avec le commentaire : « initial commit of the mystery language » (« premier commit du langage mystère »)[11]. Le compilateur était écrit en Ruby. Le 24 décembre 2009, il a publié la première version numérotée et documentée, la 0.1.0. Le 21 février 2010, la version 0.5 a été publiée, remplaçant le compilateur Ruby par un compilateur écrit en pur CoffeeScript. À ce moment, le projet a attiré plusieurs autres contributeurs sur GitHub, et les pages du site étaient vues plus de 300 fois par jour.[réf. souhaitée]

Le 24 décembre 2010, Ashkenas a annoncé la publication de la version stable 1.0.0 sur Hacker News, le site où le projet a été annoncé pour la première fois[12],[13].

Exemples

[modifier | modifier le code]

Tests et compréhensions

[modifier | modifier le code]

Pour calculer l'IMC de Barry, joueur de basket amateur, on fait d'habitude quelque chose comme ceci (ici en 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 permet de combiner les deux tests en un seul:

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

ou, plus naturellement pour qui est habitué à la langue anglaise,

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

Boucles et compréhensions

[modifier | modifier le code]

En général, l'implémentation de l'algorithme d'Euclide utilise une boucle tant que (ici, en Python) :

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

C'est également possible en CoffeeScript; mais celui-ci possède également une boucle jusqu'à :

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

Une boucle for peut souvent être remplacée par une liste en compréhension. Par exemple, pour calculer les carrés des premiers nombres impairs (c'est-à-dire dont le reste modulo 2 vaut 1), on peut utiliser l'une des propositions suivantes :

Boucle classique

[modifier | modifier le code]
for n in [1..10]
    if n%2 is 1 then alert n*n

Liste en compréhension

[modifier | modifier le code]
alert [n*n for n in [1..10] when n%2 is 1]

Avec un pas de 2

[modifier | modifier le code]
alert [n*n for n in [1..10] by 2]

Fonctions et jQuery

[modifier | modifier le code]

Le code JavaScript permettant d'initialiser la bibliothèque jQuery est :

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

Ou, plus simplement :

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

En CoffeeScript, le mot-clé function est remplacé par le symbole ->, et l'indentation est utilisée à la place des accolades, comme en Python ou en Haskell. Les parenthèses peuvent généralement être omises. Ainsi, le snippet ci-dessus peut être écrit, en CoffeeScript :

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

Ou bien :

$ ->
  # Le code d'initialisation va ici

Compilation

[modifier | modifier le code]

Le compilateur CoffeeScript est écrit en CoffeeScript depuis la version 0.5 et est disponible en tant qu'utilitaire Node.js ; cependant, la base du compilateur ne nécessite pas Node.js et peut être utilisée dans n'importe quel environnement JavaScript[14]. Une des alternatives à l'utilitaire Node.js est Coffee Maven Plugin, un plugin pour le moteur de production Apache Maven. Ce plugin utilise Mozilla Rhino, un moteur JavaScript écrit en Java.

Le site officiel, CoffeeScript.org, dispose d'un bouton « Essayer CoffeeScript » dans la barre de navigation ; cliquer dessus ouvre une fenêtre modale qui permet d'entrer du code CoffeeScript, de voir le résultat en JavaScript, et de l'essayer directement dans le navigateur. Le site js2coffee propose une traduction bidirectionnelle.

Annexes

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • JavaScript
  • Dart
  • Haxe
  • TypeScript
  • Préprocesseur

Liens externes

[modifier | modifier le code]
  • Site officielVoir et modifier les données sur Wikidata
  • (en) Dépôt GitHub
  • (en) CoffeeScript Cookbook
  • (en) The Little Book on CoffeeScript
  • (en) Smooth CoffeeScript

Notes et références

[modifier | modifier le code]
  1. ↑ a et b « 2.7.0 », 24 avril 2022 (consulté le 9 août 2022)
  2. ↑ a b c d e f g et h npmjs (base de données en ligne), consulté le 1er mars 2023.Voir et modifier les données sur Wikidata
  3. ↑ a et b The Changelog. Épisode 0.2.9 - CoffeeScript with Jeremy Ashkenas « Copie archivée » (version du 22 juillet 2018 sur Internet Archive), Jul 23, 2010
  4. ↑ (en) Martin Heller, « Turn up your nose at Dart and smell the CoffeeScript », JavaWorld, InfoWorld,‎ 18 octobre 2011 (lire en ligne, consulté le 9 février 2012)
  5. ↑ Black Duck Open Hub (site web), consulté le 18 juillet 2018.Voir et modifier les données sur Wikidata
  6. ↑ Read Write Hack. « Interview with Jeremy Ashkenas »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le 12 avril 2013), Jan 7, 2011
  7. ↑ Github. Popular Watched Repositories « Copie archivée » (version du 22 juillet 2018 sur Internet Archive)
  8. ↑ Peek, Joshua. Tweet by Rails Core Team Member on Apr 13, 2011
  9. ↑ Eich, Brendan. "Harmony of My Dreams"
  10. ↑ Eich, Brendan. "My JSConf.US Presentation"
  11. ↑ Github. 'initial commit of the mystery language'
  12. ↑ Hacker News. Annonce de CoffeeScript 1.0.0 publiée par Jeremy Ashkenas le 24 décembre 2010
  13. ↑ Hacker News. Annonce originale de CoffeeScript publiée par Jeremy Ashkenas le 24 décembre 2009
  14. ↑ « CoffeeScript », sur github.com via Internet Archive (consulté le 15 novembre 2023).
v · m
Langages de programmation
Concurrents
  • Ada
  • Erlang
  • Go
  • Modula-2
Déclaratifs
  • Clips
  • Prolog
  • Mercury
Fonctionnels
  • Clojure
  • Common Lisp
  • Erlang
  • F#
  • Gallina
  • Haskell
  • Lisp
  • ML
  • OCaml
  • Opa
  • Scheme
  • Standard ML
Impératifs
  • Algol
  • APL
  • Assembleur
  • Basic
  • BCPL
  • C
  • Cobol
  • DOPE
  • Forth
  • Fortran
  • Julia
  • Limbo
  • Lua
  • Modula-2
  • MUMPS
  • Natural
  • NQC
  • NXC
  • OPL
  • Pascal
  • Perl
  • PL/I
  • RPG
  • PowerShell
  • Rust
  • Tcl
  • WLangage
Orientés objet
  • ActionScript
  • AppleScript
  • C++
  • Common Lisp
  • C#
  • CoffeeScript
  • D
  • Delphi
  • Eiffel
  • Groovy
  • Haxe
  • Java
  • JavaScript
  • Lisaac
  • Logo
  • Objective-C
  • PHP
  • Python
  • Ruby
  • Scala
  • Scratch
  • Simula
  • Smalltalk
  • Swift
  • Kotlin
  • Visual Basic
  • Liste de langages de programmation
v · m
JavaScript
Analyse statique de programmes
  • ESLint
  • JSHint
  • JSLint
Compilateur source à source
  • Babel.js
  • CoffeeScript
  • Dart
  • Emscripten
  • Google Closure Compiler
  • Google Web Toolkit
  • Morfik
  • TypeScript
  • AtScript
  • Opa
  • Nim
  • Haxe
  • Clojure
  • WebSharper
Concepts
  • Ajax
  • Client-side
  • HTML dynamique
  • Framework JavaScript
  • Syntaxe JavaScript
  • Javascript discret
Débogueur
  • Firebug
  • Komodo IDE
  • Microsoft Script Debugger
  • Microsoft Script Editor
  • Opera Dragonfly
  • Venkman
  • Web Inspector
Générateur de documentation
  • JSDoc
Éditeurs (comparaison (en))
  • Ace
    • Cloud9 IDE
  • Atom
  • CodeMirror
    • Light Table
    • Brackets
  • Koding
  • Orion
  • PhpStorm
  • Visual Studio
    • Visual Studio Express
    • Visual Studio Code
    • Visual Studio Team Services
Moteur
  • Moteur JavaScript
Framework
  • Comparaison des frameworks JavaScript
Technologie associée
  • Feuilles de style en cascade
  • Document Object Model
  • HTML
  • JSON
  • WebAssembly
Gestionnaire de paquets
  • npm
  • NuGet
  • Yarn
Côté serveur
  • Active Server Pages
  • Bun
  • CommonJS
  • JSGI
  • Node.js
  • Deno
  • Wakanda
Test unitaire
  • Jasmine
  • Mocha
  • QUnit
Personnalité
  • Douglas Crockford
  • Brendan Eich
  • John Resig
  • icône décorative Portail des logiciels libres
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=CoffeeScript&oldid=223851092 ».
Catégories :
  • JavaScript
  • Logiciel libre sous licence MIT
  • Langage de programmation
  • Langage impératif
  • Langage fonctionnel
  • Langage orienté objet
  • Langage de script
Catégories cachées :
  • Article contenant un lien mort
  • Page utilisant P348
  • Page utilisant P277
  • Page utilisant P275
  • Page utilisant P856
  • Page utilisant P1195
  • Article utilisant une Infobox
  • Article à référence souhaitée
  • Article contenant un appel à traduction en anglais
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Programmation informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id