ООП   PHP   web   4GL - визуальные среды

Препроцессор CoffeeScript

CoffeeScript (кофи скрипт) — препроцессорный язык программирования, созданный программистом из "Нью-Йорк Таймс" Джереми Ашкеназ, транслируемый в JavaScript. CoffeeScript добавляет синтаксический сахар в духе Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер. CoffeeScript позволяет писать более компактный код по сравнению с JavaScript. JavaScript-код, получаемый трансляцией из CoffeeScript, полностью проходит проверку JavaScript Lint.

Изначально препроцессор был написан на Ruby, но в версии 0.5, которая вышла 21 февраля 2010 года, он был реализован на самом же CoffeeScript.

CoffeeScript был радушно воспринят в Ruby-сообществе. Встроенная поддержка CoffeeScript была добавлена в веб-фреймворк Ruby on Rails с версии 3.1.

Примеры CoffeeScript

Переменные

CoffeeScript:

age  = 2
male = true
name = "Матвей"

JavaScript:

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

Функции

CoffeeScript:

say = (speech) ->
  alert speech
 
say "Машина тютю!"

JavaScript:

var say = function(speech) {
  alert(speech);
};
say("Машина тютю!");

Классы и объекты

CoffeeScript:

class Human
  constructor : (@name) ->
 
class Baby extends Human
  say   : (msg) -> alert "#{@name} говорит '#{msg}'"
  sayHi : -> @say('Уууу!')
 
matt = new Baby("Матвей")
matt.sayHi()

Аналог на JavaScript (именно аналог, а не результат компиляции):

function Human(name){
  this.name = name;
}
 
function Baby(name){
  Human.call(this, name);
}
 
Baby.prototype = Object.create(Human.prototype);
Baby.prototype.say = function(msg){
  alert(this.name + ' говорит ' + msg);
};
Baby.prototype.sayHi = function(){
  this.say('Уууу!');
};
Baby.prototype.constructor = Baby;
 
var matt = new Baby("Матвей");
matt.sayHi();

Примечание: в JavaScript при работе с «классами» (конструктор + прототипы + функции для наследования и смешивания) часто используют обёртки (MooTools, AtomJS и другие). Аналогия на JavaScript с классовой обёрткой AtomJS:

var Human = Class({
  initialize : function(name) {
    this.name = name;
  }
});
 
var Baby = Class({
  Extends : Human,
  say : function(msg) {
    alert(this.name + ' говорит ' + msg);
  },
  sayHi : function() {
    this.say('Уууу!');
  }
});
 
var matt = new Baby("Матвей");
matt.sayHi();

Пример класса CoffeeScript с различными видами свойств.

class Test
  say   = (msg) -> alert msg       # приватный метод
  @echo = (msg) -> console.log msg # статический метод, записан в Test
  setHi : (msg) ->                 # динамический метод, записан в Test.prototype
    @hi = -> msg                   # динамический метод, записан в экземпляр Test

Интересные факты

Так как компилятор CoffeeScript написан на самом CoffeeScript, вы можете опробовать его в онлайн на официальном сайте, при этом, в отличие от Try Ruby, асинхронных запросов происходить не будет, поскольку код компилируется непосредственно в вашем браузере.

ООП   PHP   web   4GL - визуальные среды

Знаете ли Вы, что, как и всякая идолопоклонническая религия, релятивизм ложен в своей основе. Он противоречит фактам. Среди них такие:

1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")

2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.

3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 20.09.2019 - 04:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Осиевского - Карим_Хайдаров.
18.09.2019 - 12:08: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> ПРОБЛЕМА ИСКУССТВЕННОГО ИНТЕЛЛЕКТА - Карим_Хайдаров.
18.09.2019 - 06:01: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Л.Г. Ивашова - Карим_Хайдаров.
17.09.2019 - 05:51: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ФАЛЬСИФИКАЦИЯ ИСТОРИИ - Карим_Хайдаров.
17.09.2019 - 05:41: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Андрея Тиртхи - Карим_Хайдаров.
16.09.2019 - 18:21: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
16.09.2019 - 03:11: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
14.09.2019 - 18:23: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
13.09.2019 - 09:08: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
12.09.2019 - 17:47: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
08.09.2019 - 03:42: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от О.Н. Четвериковой - Карим_Хайдаров.
07.09.2019 - 07:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Декларация Академической Свободы - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution