Зачем мы это сделали, и еще немного кофе
Прочел замечательную книжку «CoffeeScript. Второе дыхание JavaScript», и выскажу несколько своих замечаний по ней.
Во-первых, автору не понятны генераторы, и мое уважение ему за то, что он честно сказал «я их не использую, потому что они мне не нравятся».
С моей точки зрения, генераторы изумительны. Это великолепно — иметь возможность одной строкой текста практически в человекочитаемой форме заменить кусок кода из 10-20 строк.
Во-вторых, в книге слишком мало практик.
В-третьих, имеющиеся практики слишком одNODEбоки. На JavaScript с большим успехом можно писать для десктопов, Android и iOS. CoffeeScript можно прямо в браузере транслировать, и не только.
Поэтому пошли читать оригинальное руководство. Оно сильно понравилось, в моем любимом стиле — дзеновском, аскетичное. Читать такие вещи приятно, не торопясь. И мы с коллегой решили между делом его перевести (другие переводы — cidocs.ru).
Еще немного кофе
А. Нашел такую классную вещь — CoffeeScript-PHP. Не спрашивайте, зачем это нужно. Но те, кому пригодится, это оценят.
Б. С помощью великолепной утилиты JS2Coffee можно перегонять CoffeeScript в JavaScript и обратно!
Например, можно сделать следующее:
- Обсфуцированный код JavaScript перегнать в CoffeeScript
- Полученный очень удобочитаемый код можно подвергать анализу
- Если не хочется читать CoffeeScript — можно перегнать полученное обратно в JavaScript, и он будет весьма красиво оформлен — почти без следов обсфукации
В. Новичкам для понимания основ и овладения мощью функционального программирования рекомендую замечательный хабраперевод Функциональное программирование на Javascript
Почему мне нравится CoffeeScript?
Потому что он позволяет существенно быстрее переводить мысли в код, при этом возможно использовать любые JavaScript-библиотеки и полученный JS-код качеством ничем не хуже того, что возможно было бы написать руками. А еще его можно освоить в течении пары часов. И, пожалуй, главное — за счет лаконичного синтаксиса и заботы о лексике, ошибок получается намного меньше. Удобнее сосредотачиваться на том, что нужно сделать, и меньше думать о том, как это сделать. Великолепно, не правда ли?
Пример. Проект, использующий underscore.js и jQuery, писался и отлаживался 3 дня. Решив переписать его на CoffeeScript, сделали это за 4 часа, при этом внезапно отпала надобность в underscore.js
Замечания об ошибках можно сообщить в личку.
Спасибо и удачи всем!
ссылка на оригинал статьи http://habrahabr.ru/post/183358/
Добавить комментарий