CoffeeScript

CoffeeScript, JavaScript-ում տրանսյացվող ծրագրավորման լեզու։ CoffeeScript-ը ավելացնում է «սինտաքսային շաքար» կոդում Ruby, Python, Haskell և Erlang ծրագրավորման լեզուների նման, դրանով իսկ դարձնելով կոդը ավելի ընթեռնելի և քչացնում է կոդի ծավալաը։ CoffeeScript-ը թույլ է տալիս գրել ավելի կարճ կոդ համեմատած JavaScript-ի հետ։ CoffeeScript-ով գրված կոդը ամբողջությամբ անցնում է JavaScript Lint ստուգում։

Պատմություն 
Ծրագրավորման լեզվի հիմնադիրը համարվում է Ջերեմի Աշկենասը։

Սկզբնական տարբերակում կոմպիլյատոր գրված էր Ruby-ով, սակայն նոր 0,5 տարբերակում, որը թողարկվել է 2010 թվականի փետրվարի 21-ին, կոմպիլյատորը գրվել է հենց CoffeeScript-ի հիման վրա։

CoffeeScript-ը շատ լավ ընդունվեց Ruby-հասարակության կողից։ CoffeeScript-ի 3․1 տարբերակում ավելացավ Ruby on Rails վեբ-ֆրեյմորքը։

Իրականացում 
Պաշտոնական կայքում կա «try coffeescript» բաժինը, որը թույկ է տալիս գրել ծրագրեր և գործարկել online։

Օրինակներ

Փոփոխականներ 
CoffeeScript:
age  = 2
male = true
name = "Матвей"

JavaScript:
var age = 2,
    male = true,
    name = "Матвей";

Ֆունկիաներ 
CoffeeScript:
say = (speech) ->
  alert speech

say "Hello World!"

JavaScript ECMAScript 2015:
const say = speech => alert(speech);
say('Hello World!');

JavaScript:
var say = function(speech) {
  alert(speech);
};
say("Hello World!");

Օբյեկտներ 
CoffeeScript:
class Human
  constructor : (@name) ->

class Baby extends Human
  say   : (msg) -> alert "#{@name} speak '#{msg}'"
  sayHi : -> @say('Hello!')

matt = new Baby("baby")
matt.sayHi()

JavaScript ECMAScript 2015:
class Human {
	constructor(name) {
		this.name = name;
	}
}

class Baby extends Human {
	say(msg) {
		alert(`${this.name} speak '${msg}'`);
	}
	sayHi()	{
		this.say('Hello!');
	}
}

const matt = new Baby('Baby');
matt.sayHi();

Տես նաև 
 JavaScript
 TypeScript

Ծանոթագրություններ

Գրականություն 
 
 
 CoffeeScript Cookbook, сборник рецептов CoffeeScript от сообщества.
 Smooth CoffeeScript , свободная электронная книга о CoffeeScript. Доступна в двух вариантах с исходным кодом примеров.

Արտաքին հղումներ 
 Պաշտոնական կայք CoffeeScript
 CoffeeScript GitHub-ում
 Պաշտոնական թղթաբանության թարգմանություն

Օբյեկտ կողմնորոշված ծրագրավորման լեզուներ
JavaScript