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)

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

Например в папку dist можно положить собранную библиотеку вместе с её .d.ts файлами для TypeScript. Очень удобно.

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

На собеседовании плаваешь в базовых понятиях «функция конструктор», «прототип», «замыкание»

честно говоришь, что JS говно, и ты всё что можно пишешь на CS классами

stevejobs ★★★★☆
()

Продолжу начинание

случайно воспользовался тем же именем переменной что и во внешних скоупах

@

всё сломалось

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

К сожалению, освоил CoffeeScript, TypeScript, LiveScript. Абсолютно бесполезный опыт.

Ну может в каком-то хипстерском редакторе и бесполезный, а в Visual Studio TypeScript достаточно неплохо интегрирован и весьма полезен.

А вот зачем кому-то нужен CoffeeScript, большой вопрос.

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

честно говоришь, что JS говно

На что тебе говорят, что ты его не умеешь готовить и посылают нафиг. Не, JS конечно говно, но что бы такое заявлять, надо иметь авторитет, а на собесе лучше помолчать.

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

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

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

Часто for удобнее чем map/forEafch

честно говоришь, что JS говно, и ты всё что можно пишешь на CS классами

И гордо уходишь искать собеседование на coffeeScript-програмиста

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Причем тут ты. Я лишь говорю что ты правильно сказал, люди которые убегают от знания JS посредством использования например CoffeeScript будут страдать от непонимания причин некоторых багов

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

Что мне не нравится в ts, так это медленное его развитие и синтаксические расхождения с ES6 (особенно касаемо классов и пакетов).

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

Еще неудобное подключение d.ts определений через инклюд. Что делает практически невозможным грамотное разделение ts-кода на npm-модули

Посмотрим, может у гугла получится нормальней их atScript

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: Продолжу начинание от PolarFox

Пытаешься описать сложный JSON на cs

@

Получается вырвиглаз

@

Осознаешь всю прелесть фигурных скобок

categories = [
  code  : 'zzz'
  title : 'Electronics'
,
  code  : 'yyy'
  title : 'Mechanics'
]
makoven ★★★★★
()
Ответ на: комментарий от makoven

а

е
с
л
и

... писать вот так, то ещё длиннее выйдет

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

честно говоришь, что JS говно, и ты всё что можно пишешь на CS классами

)))))))

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

Why does Atom send usage data to Google Analytics?

из faq

спасибо, я пешком постою

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

Никто не будет ставить компилер и собирать твою либу.

У меня ощущение что прелести grunt,gulp прошли мимо вас.

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

Там все еще нет типов, что печалит и создает кучу разных проблем.

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

У тебя ощущение, что все поголовно пользуются грунтом и гульпом. Думаю многие js-разработчики даже нодой не пользуются.

makoven ★★★★★
()

После 6to5 не нужен никому, кроме тех, кто считает, что отсутсвие пунктуации увеличивает читаемость.

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

Каждый правильный язык, должен возвращать значение из функции. А уж учитывая, что у JS были замашки на функциональные элементы, когда это еще не было мейнстримом, то вдвойне непонятно, нафига они не добавили возврат последнего вычисленного значения.

Во-вторых, научись наконец пользоваться sourcemap'ами.

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

Восьмигиговую плашку памяти купить не забудь.

Это ты зачем сейчас сказал? Типо не пользовался, но полагаешь, что раз на базе хромиума, то и жрать будет столько же? FAIL.

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

Ты правда не видишь разницы между var a = for (...); и var a = [for (...) ];?

Нет, а должен? Это просто разный синтаксис для одинаковых дейтсвий:

xs = [x * 2 for x in [1..10]]
xs = for x in [1..10]
  x * 2

Но и это круто что всё является выражением, можно писать:

xs = for x in [1..10]
  if x % 2
    x * 2
holuiitipun
()

Подавляющее большинство юзеров кофескрипта делится на 2 категории:

- не способные осилить JS говнокодеры
- старпёры, не знающие про транспилеры es6

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

А зачем мне пользоваться ущербным редактором?

что раз на базе хромиума, то и жрать будет столько же? FAIL.

А с чего бы ему не жрать? Какие-то предпосылки есть?

https://discuss.atom.io/t/2mb-limitation-makes-for-a-horrible-first-impressio...

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

Секция про readable code biased as fuck, в других случаях у traceur приятнее выходит. Остальное мягко говоря высосано из пальца. Хотя сайт конечно красивый у них :)

Я сейчас делаю рефакторинг в своём проекте с переписыванием всего под ES6, в прицнипе поменять одно на другое должно быть просто.

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

ты так говоришь, как будто это плохо.

С уважением, владелец ноута с 16 ГБ плашкой.

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

Если быть честным, то транспилеры ES6 стали популярны только в этом году, и набрали прям очень хорошую массу. А CoffeeScript'у уже сто лет в обед будет.

А так да, с приходом ES6, в принципе можно уже и на ES6 переходить.

Но все же, деление слишком не аргументированное. CoffeeScript защищает от банальных ошибок, и самое главное, избавляет от нужны писать большое количество boilerplate кода, который нужен из-за слабой выразительной семантики ES5.

Ну и скобочки =) В JavaScript скобочек больше чем в Lisp =)

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

Многие JS-разработчики, не разработчики, а говно кодеры, или вчерашние верстальщики, которые дай бог, чтобы на чем-то кроме JS в жизни писали.

Нормальный, адекватный разработчик будет искать любые способы автоматизации своего труда. Отсюда и Grunt, Gulp. Разработка на JS выросла, и хочет быть как у настоящих больших языков.

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

А чо тут считать-то? Это факт, чем больше в коде non-alphanumerical тем этот код менее читаем. Правда некоторые говнокодеры этого не понимают.ы

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

нафига они не добавили

потому что это сделанное на коленке за несколько дней жалкое поделие. это как мертвому припарка

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

Именно говно кодеры и вчерашние верстальщики, которые дай бог, чтобы на чем-то кроме JS в жизни писали и ведутся на гульпы и уеоманы.

Нормальный, адекватный разработчик возмет универсальные инструменты make/cmake/jenkins/etc

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

Это даже в человечекой граматике не так. Без знаков препинания читать сложно. А в формальных граматиках и подавну

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

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

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

Все фронт энд разработчики кого я знаю юзают либо грант, либо гилп.

st4l1k ★★
()
Последнее исправление: st4l1k (всего исправлений: 1)
Ответ на: комментарий от anonymous

От ошибок защищает eslint. Причем на порядок лучше.

Ну а про компактность - оно по строчкам не особо короче выходит. Автодополнятор решает.

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

Именно в человеческой грамматике всё так. Там знаков препинания ровно столько, сколько нужно. А языки программирования без всяких на то причин сильно перегрузили синтаксис, не совсем понятно даже зачем. Скорей всего тут действует говнопринцип: 'Так исторически сложилось'.

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

Один говорит освой синтаксис кофескрипта. Второй говорит используй гульп. Третий говорит пользуйся sourcemap-ами. Четвертый навязывает Atom. Каждый кушает свое Г и хочет угостить других )

Когда я был маленький, я тоже генерил grunt-файлы yeoman-ом, привязывал к гульпу кофескрипт, вотчил грунт-вотчингом, тестил камой, собирал через browserify, славил Jade и кричал на улицах о скором пришествии AMD )

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.