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)

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

Не, ну я вижу какой ты адекватный разработчик, который сравнивает make/cmake (систему сборки) с Jenkins/company (continous integration). И если первое - это ок, но это всего лишь вариант сборки, то каким боком тут второе - фиг поймет. Теперь точно есть сомнения в твоей адекватности

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

Но кстати, да. Как можно относиться серьезно к твоему мнению, если ты бекенд на Node.js пишешь :D

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

make и cmake это совершенно разные вещи, хоть и связанные.

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

Написал свою приблуду для тестов, которая передает тесту-скрипту файл-образец на stdin и сравнивает diff-ом его с stdout. Тестирую этой тарантайкой код на всех языках)

Типизация, да, проблема )

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

Я бы не сказал, что он силится им быть. Это хороший пример, когда из task runner'а сами пользователи пытаются делать build tool. Но с другой стороны, на безбабье и кулачок блондинка.

Можно сколько угодно ретроградствовать, но сейчас Javascript, слишком активно растет, и bad design технологии дает о себе знать при таких темпах роста.

Это и проблемы языка by design, решение которых блокировано сейчас обратной совместимостью, и слишком не пропорциональное соотношение технических лидеров, к малоопытным разработчикам (в более зрелых сообществах технически опытных и подкованных разработчиков сильно больше к общему числу).

Так что, тут не конкретные идеи, языки, инструменты ругать надо, а людей.

Не CoffeeScript виноват в том, что разработчики плохо знают JS, а самих разработчиков. Не Grunt надо винить, что из него делают систему сборки, а людей, у которых либо знаний мало, либо возможностей меньше (даже я бы не рискнул с make связываться на Windows, когда много людей на ней и сидят - на это больно смотреть - но это данность, с которой нам нужно жить). Не Node.js виновата, что на ней ненадежный сетевой асинхронный код пишут, а те кто не подумал, что для этих задач есть Erlang/Go.

Все проблемы в IT не от инструментов, а от людей.

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

А что, хочешь сказать, что на асинхронных задачах она себя показывает лучше, чем Erlang, особенно, когда вопрос ставится о правильной утилизации ресурсов, и работе с сетью?

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

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

Ну да ладно, сравнивать. io.js хорошо показал, насколько сыра была Node.js все это время. Огромное количество компаний и разработчиков сделало на нее ставку, пока Joyent не забила на нее, и на все сообщество. А разработчики io.js теперь все это расхлебывают.

Я не то, чтобы совсем против технологии, но она сырая. И это не домыслы, а уже и косвенно, и прямо подтвержденный факт.

anonymous
()

Главная проблема веб-фронтенда состоит в том, что он захвачен <censored> хипстерами, ассоциирующими себя с героями любимых «мурзилок» про дядек в разноцветных трико. Вот и имеем 100500 однотипных фреймворков, систем сборки и трансляторов, каждый второй из которых «superheroic», а каждый первый - «opinionated», а проживает хотя бы первый год после релиза только каждый сотый в лучшем случае.

Ну и «совместимость любой ценой» вперемешку с амбициями корпорастов по мировому господству.

И вообще, ящитаю пора прекратить насиловать язык разметки документов и делать из него среду выполнения приложений. Я сам себе ща не верю, но флеш походу рано похоронили. Нужна новая среда для сетевых приложений, _вместо_ браузера.

P.S. Извините, посаны, за поток сознания, наболело.

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

а теперь отказались от всех благ цивилизации и делаете все ручками в блокноте(nano || mc edit), пишите на голом js, отказаличь от jquery?

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

Ты не одинок в этом мнении. Flash похоронили не зря, но платформа нужна =)

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

Мало ли у кого там чего рвало. Есть объективные критерии инструментов, и целей, для которых они создавались. И в независимости от субъективного мнения подгорающих пуканов нодеров, или ерланговцев, Erlang пока что лучше для асинхронных сетевых задач подходит, и лучше утилизирует ресурсы.

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

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

Пишу и писал в vim. Сейчас на голом js с jshint-ом. В этой ветки товарищи упомянули 6to5 - наверное перелезу на него, если убедюсь что он генерит адекватный es5.

От jquery отказался еще на заре angularjs. Сейчас отказался и от ангуляра в пользу rivets.js (автор, кстати, матерый хипстер. Код на кофе, но больно вкусный датабиндинг. А кроме датабиндинга от фреймворка ничего и не нужно)

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

Писать на ангуляре, теперь на хипстерском фреймворке, и называть других хипстерами, это зачет :D

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

Написал свою приблуду для тестов, которая передает тесту-скрипту файл-образец на stdin и сравнивает diff-ом его с stdout. Тестирую этой тарантайкой код на всех языках)

assert для трусов?

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

Это немного ироничное замечание было.

Если делать чистый UI - я перешел на React.

Если вставки на страницах сайта, а не полноценный UI - то да, тут и выбор невелик. Хотя вот еще есть Vue.js, вроде не от хипстера из Google, Angular-syntax like директивы, но при этом быстрые.

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

Так что, тут не конкретные идеи, языки, инструменты ругать надо, а людей.

Как говорят психологи есть люди интерналы и экстерналы. Первые во всех невзгодах винят себя. А вторые - окружение.

Не CoffeeScript виноват в том, что разработчики плохо знают JS

Хрена с два. Всюду написано, что cs лучше. А по факту он включает в себя все недостатки js плюс добавляет гору собственных. Само существование этого языка отравляет жизнь наивных джуниоров

Не Node.js виновата, что на ней ненадежный сетевой асинхронный код пишут

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

Это хороший пример, когда из task runner'а сами пользователи пытаются делать build tool.

Это плохой пример когда берут узкоспецефичный инструмент и пытаются делать на нем всё. В силу синдрома утенка или незнания о существовании правильных, языконезависимых инструментов

Это и проблемы языка by design, решение которых блокировано сейчас обратной совместимостью

ES6 пролазиит в браузеры со скоростью света. Джаве с питоном остается только завидовать. Не говоря уже о сях с плюсами.

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

Впринципе тот же assert, только от тестового скрипта требуется лишь считать stdin и записать в stdout. А работу по чтению файлов с тестовыми данными и сравнению результатов выполняет моя приблуда. Еще добавлю возможность сравнивать json и будет вообще конфетка )

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

Как говорят психологи есть люди интерналы и экстерналы. Первые во всех невзгодах винят себя. А вторые - окружение.

Психологи много о чем говорят. А факты говорят, что есть дураки, а есть нет.

Хрена с два. Всюду написано, что cs лучше. А по факту он включает в себя все недостатки js плюс добавляет гору собственных. Само существование этого языка отравляет жизнь наивных джуниоров

Опять таки, жизнь наивных джуниоров отравляет не CS, а тот идиот, который посоветовал им первым языком брать JavaScript, со всеми его подводными камнями. CS штука не для джуниора, а для того, кто хочет меньше писать boilerplate кода, и понимает, что на выходе получает. То есть по факту, CS лучше ES5 в том плане, что решает больше проблем, чем вносит. Но в этом вопросе нельзя говорить о решении проблем дизайна языка. В общем это такое - о фломастерах. Если команде удобно использовать CoffeeScript - это их как бы дело. Для open source, конечно, я согласен, что надо использовать то, что знают все.

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

Согласен. Но проблема человека все равно остается. Если инженер доверяется маркетингу, вместо трезвой оценки инструментов для решения задачи - это инженер? Умножаем таких вот «инженеров» на большой процент от Node.js сообщества - и получаем что, народ, который надежды возлагал, на деле оказался недальновидным.

Это плохой пример когда берут узкоспецефичный инструмент и пытаются делать на нем всё. В силу синдрома утенка или незнания о существовании правильных, языконезависимых инструментов

Не всегда языконезависимые инструменты удобнее. Grunt не лучшее решение, но имеет право на жизнь. У каждого инструмента были свои задачи и условия, для которых и под влияением которых он создавался. Тыкать make'ом во все дырки, обратная крайность.

ES6 пролазиит в браузеры со скоростью света. Джаве с питоном остается только завидовать. Не говоря уже о сях с плюсами.

Конечно пролазит. Только он добавляет новые вещи, но не решает старые. Не решает проблемы типизации, усложняет работу scope, добавлением новых сущностей, потому что не может сказать «теперь все будет работать по другому», и так далее. Чтобы решить старые проблемы - вводятся новые сущности, а новые сущности вносят свои проблемы.

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

Открыл диспетчер хрома. Вкладка с небольшим приложением на React, жрет меньше, чем страница добавления нового сообщения на LOR.

В любом случае, React о скорости. Но если хочется еще и экономии памяти - можно посмотреть в сторону иммутабельных структур данных (которые несмотря на очевидность - вполне могут помочь и в скорости, и память экономить).

Facebook пилит клон Clojure data types ImmutableJS, правда у них пока сыро это.

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

Если инженер доверяется маркетингу, вместо трезвой оценки инструментов для решения задачи - это инженер?

Бабушка услышала, что гербалайф излечит ее радикулит и отдала все накопления. Гербалайф ни при чем. Бабушка виновата - головой надо было думать

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

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

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

Бабушка услышала, что гербалайф излечит ее радикулит и отдала все накопления. Гербалайф ни при чем. Бабушка виновата - головой надо было думать

Хороший пример, но тут есть различие. Бабушка отвечает за себя. Разработчик, в лучшем случае отвечает за деньги инвестора, и/или работодателя. А если вот такой безответственный разработчик возьмется делать ПО для медицинского оборудования, или самолета?

Тут вопрос в ответственности. Повелся на булшит - отвечай, будь добр.

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

Для новичков - даже Ruby проще, хотя лучше конечно функциональный язык для начала. Он как минимум вобьет в голову новичка какие-то строгие правила.

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

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

Сразу смотри тогда вместе с FLUX (Fluxxor, или какой-нить из уже многих «фреймворков» реализующих FLUX). Он так раскрывается лучше.

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

Какбэ сейчас мало где чисто сетевые задачи, распределенность и серверное программирование. Увы.

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

Node это хорошо, в принципе, если с ней человек с прямыми руками работает.

Но вот когда с ней работают люди далеко не всегда с прямыми руками - это меня печалит. Потому что, вкусив хороших зарплат в IT, малых требований к тому, что писать под Node.js, и без стимула к саморазвитию, такие «паразиты» имеют свойство яростно Node защищать, так как это становится их кормушкой. А с хорошей кормушкой мало кто хочет расставаться...

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

CS штука не для джуниора, а для того, кто хочет меньше писать boilerplate кода

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

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

Внезапно, мода имеет какое-то влияние при выборе хороших инструментов? MVC так вообще уже не один десяток лет - тоже не в моде?

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

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

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

Любой программист автоматизирует свой труд, и применение CS - один из вариантов. Можно по желанию себе сниппетов настроить, или взять решение для макросов от Mozilla, или пользоваться IDE (хотя никакая вменяемая IDE никогда не научит свой статический анализатор идеально разбирать код с динамической типизацией).

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

MVC на клиенте настолько не в моде, что трудно передать как. По поводу flux - фейсбук делает Relay, все остальные с большими приложениями делают свои велосипеды. Учитывая молодость реакта как такового, можно уверенно говорить, что через год, когда устаканятся best practice, о flux'е никто вспоминать не будет.

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

А, в этом плане согласен. Есть такое.

В целом, я к FLUX то как к MVC отношусь. Сначала мы пытались менять компоненты, оставляя связи, теперь оставляем компоненты, и экспериментируем со связями.

Relay интересен, и действительно интересно, насколько его быстро подхватят. React вот тоже уже довольно агрессивно рекламируется, а многие до сих пор его не пробовали.

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

Идиотов везде хватает. И тех кто им платит тоже.

Сейчас идет обратный процесс - серверсайдам приходится думать о фронтенде, и это хорошо влияет на методики и подходы к разработке в яваскрипте.

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

MVC в классическом виде точно протух. Там слишком тесные связи, которые не дают нормально вытащить рендерер на клиент.

Нонче в том или ином виде лисапедят двухслойную модель данных. Один слой для бизнес-логики, второй для вьюмодлей. На видео по БЕМ это довольно хорошо расписано. Правда, конкретно в БЕМ получился неюзабельный ад, но идеологическая часть там хорошая.

Vit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.