LINUX.ORG.RU

Вышел CoffeeScript 1.9.0

 , ,


2

3

Спустя полгода после последнего релиза, вышла мажорная версия CoffeeScript 1.9.0.

CoffeeScript — это язык программирования, транслируемый в JavaScript. CoffeeScript добавляет синтаксический сахар в стиле Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер. CoffeeScript позволяет писать более компактный код по сравнению с JavaScript.

Список изменений:

  • Поддержка ES6 генераторов
  • Более надежный и устойчивый к ошибкам парсинг
  • Улучшены сообщения об ошибках для строк и регулярных выражений, особенно, что касается интерполяции
  • Изменена стратегия генерации имен переменных во время компиляции
  • Исправлена совместимость REPL с последними версиями Node и io.js
  • Различные мелкие исправления

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: redhat (всего исправлений: 1)

Ответ на: комментарий от anonymous

нафига пилить JS до сих пор, если уже давно можно было впилить VM в браузер, а все эти вот компилируемые языки пусть в нее компилятся.

Вот будет щастье создателям рекламных и шпионских скриптов. Даже при большом желании не сможешь посмотреть что страничка делает с твоим браузером. И для Женьки Касперского работы прибавится - создавать базу сигнатур для браузерной VM

Бинарные онлайн-приложения уже есть. Называются айфон и андройд. А если и веб сделают бинарным - я, наверное, перелезу на FTP. Или придется пилить что-нибудь гипертекстовое и векторное

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)

Расскажите вкратце для не вебпрограммистов, какие преимущества получит юзер от внедрения CoffeeScript-а?

Stalin ★★★★★
()
Ответ на: комментарий от makoven

Ну так себе довод. То есть, разумное зерно есть, но у тебя в браузере итак сейчас работает виртуальная машина. И ты точно также не знаешь, что она делает с твоим браузером.

А код после минификации нечитаем и в принципе, мало отличается от результата обфускации.

С другой стороны, тут как и с классическим JS стоит вопрос - а как ты свой бинарный код доставишь в браузер? Ну то есть, вот чем принципиально будет отличаться доставка вредоносного JS в браузер, от доставки бинарного кода в браузер?

anonymous
()
Ответ на: комментарий от anonymous

А код после минификации нечитаем и в принципе, мало отличается от результата обфускации.

И все-же сильно отличется от результата компиляции.

С другой стороны, тут как и с классическим JS стоит вопрос - а как ты свой бинарный код доставишь в браузер?

Очевидно же. Если браузеру будет позволено выполнять блобы, то будет возможность загружать блобы прямо с сервера.

makoven ★★★★★
()

Ну вот! Увидел новость, думал сейчас погляжу как генераторы разворачиваются в ECMAScript3 код, а тут облом :(

Может кто посоветует постпроцессор(работоспособный) заменяющий код с генераторами на чистый ECMAScript3 ?

SV0L0CH
()
Ответ на: комментарий от makoven

Да, traceur то, что надо. Код хоть и не оптимален, но для моих задач подойдёт.

Можно будет писать на кофескрипте с генераторами, потом пропускать через traceur. И это будет работать в rhino и прочем старье =)

SV0L0CH
()
Ответ на: комментарий от makoven

JS ты грузишь оттуда же.

Контент в независимости от его типа, грузится по одним принципам. И вся разница будет лишь в «читаемости» последнего.

Но это никак не влияет на безопасность. Тем более простого ничего не понимающего пользователя.

anonymous
()
Ответ на: комментарий от Legioner

На мой взгляд перспективней использовать EcmaScript 6

Чистый js обречен. Js уверенно становится ассемблером. Будущее за трансляцией и даже интерпретацией. Возможно, свое место займет и dart. Js не устраивает никого.

special-k ★★★
()
Ответ на: комментарий от anonymous

Ну вот и будешь с такими убеждениями в будущем загружать из интернета один блоб с с гуем и кодом внутри. Так, что даже адблок с носкриптом ничего сделать не смогут. Так, что даже картинку со страницы сохранить не сможешь. И F12 останется в прошлом, т.к инспектировать будет нечего.

Ох, щи. Ты ведь уже их загружаешь с андроидмаркета.

makoven ★★★★★
()
Ответ на: комментарий от Vit

Шёл 2015 год, а в самом новом варианте Яваскрипта до сих пор не было приличного match...

Пионеропроблемы.

https://github.com/slevithan/xregexp

Пионеропроблемы - это когда путают регулярные выражения и pattern matching: http://en.wikipedia.org/wiki/Pattern_matching

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

тогда это были не пионеропроблемы а дислексия.

Vit ★★★★★
()
Ответ на: комментарий от sT331h0rs3
print_lines = (lines) -> print line for own line of lines

Сгенерированный результат:

var print_lines,
  __hasProp = {}.hasOwnProperty;

print_lines = function(lines) {
  var line, _results;
  _results = [];
  for (line in lines) {
    if (!__hasProp.call(lines, line)) continue;
    _results.push(print(line));
  }
  return _results;
};
makoven ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.