potan: вот здесь: habrahabr.ru/post/235205 описаны способы создания констант в CoffeeScript, но всё какими-то костылями. При том костыли эти отлично работают и в JavaScript.
На счёт остального -- убедили (хотя всё-таки отсутствие return -- влияет на читаемость но никак не влияет на работу кода)
Кстати, в ES6 локальный скоп уже есть. И константы в нём есть. И в однострочных лямбдах можно без return :)
potan: чет не нашёл информации про константы
"не надо писать return" -- угу, только при чём тут ФП?
"локальный скоп" -- я, наверное, чего-то совсем не понимаю, но в JavaScript он тоже есть
potan: в смысле "лучше"? В CoffeeScript из каких-то вещей, которых вообще нет в JS -- только классы (которые, кстати, в ES6 уже есть). Как он может быть лучше в плане ФП? LiveScript -- да, немного лучше, так как есть приятные штуки вроде каррирования. Для совсем уж функциональщины -- ClojureScript и Elm, но они уже гораздо сильнее отличаются от JavaScript.
Непонятно, что использовать. Собственно, я сейчас выбираю из трёх вариантов -- "просто" библиотеки типа JQuery, Zepto; веб-компоненты: Polymer, React, Riot; фреймворки: Anguar, Vue, Ember.
Много видел на тостере комментариев про то, что ангуляр -- маркетинговый пшик, но что на счёт других MV* фреймворков?
Фёдор Сарафанов (osabio): быдлокод можно налепить всегда и везде. Препроцессоры, если уметь их готовить -- офигительнейшая вещь, особенно для CSS фреймворков (вспомните Bootstrap с его "col-xs-12" и сравните с "col(1/3)" в Jeet или "column(1/3)" в LostGrid). Но всё упирается в место крепления рук, это да.
То же и с методологией. Если руки из плеч и моск не высох, методологии могут сильно упростить работу над большими проектами. Я вот писал свой небольшой проект, начал с главной страницы, дошёл до нескольких сотен строк CSS (точнее, Stylus) и понял что мой код -- говно. Потому что всё было в одном файле -- и базовые стили, и проектные (если использовать терминологию MCSS, который мне очень понравился). Я тогда понял, что не смогу использовать эти стили в таком виде для других страниц сайта, потому что базовые от проектных не отделены. Пришлось переписывать.
Методологии как раз и решают такие проблемы. Понятно, что я вот наступил на грабли и сам к этому пришёл, но ведь, как говорится, дураки учатся на своих ошибках, мудрецы -- на чужих, и методологии как раз позволяют учиться на чужих ошибках, не совершая их.
На счёт остального -- убедили (хотя всё-таки отсутствие return -- влияет на читаемость но никак не влияет на работу кода)
Кстати, в ES6 локальный скоп уже есть. И константы в нём есть. И в однострочных лямбдах можно без return :)