Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2012, 04:12
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Кто использует Coffeescript в своих проектах или на работе?
Собсно сабж. Вот смотрю я на огромный кусок человечества и не понимаю, действительно ли они используют кофескрипт для создания каких-нибудь вещей, сложнее, чем хеллоу ворлд. Я, вот, в очередной раз открыл сайт сабжа, сказал "круто" и закрыл.

Да и вообще, интересны подробности и особенности языка, проявляющиеся только в процессе работы. Сильно интересует вопрос отладки. Вот появилась ошибка синтаксиса или исключение, как найти соответствующую строку?

Хотя при всей своей крутости, язык попахивает бредом:
$('.account').attr class: 'active'
Первый вопрос: что здесь что? Только потом, вчитавшись, понимаешь, что это метод attr, с аргументом {class: 'active'}.

Вот это вообще кердык:
outer = 1
changeNumbers = ->
  inner = -1
  outer = 10
inner = changeNumbers()
Только прочитав результирующий JS я понял, что функция changeNumbers возвращает outer = 10.

А еще тут не используется var o_0

Честно говоря, хотел бы иметь в арсенале быстрый компилятор ограниченного количества сахара в JS, например, (краткие) -> записи*функций, генераторы, let и yield. Может еще чего-то из новых экмаскриптов.

Что-то много тут понаписал. Удалять лень
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2012, 04:21
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сам в шоке от него
Для того чтобы прочитать произвольный Cofeescript надо основательно его выучить

Сообщение от FINoM
Честно говоря, хотел бы иметь в арсенале быстрый компилятор ограниченного количества сахара в JS, например, (краткие) -> записи*функций, генераторы, let и yield. Может еще чего-то из новых экмаскриптов.
компилятор Cofeescript умеет эти сахары?
вот и используйте его.
Пишите код, используя только необходимый вам сахар, а те конструкции, которые в Coffeescipt выглядят непривычно, записывайте стандартным JS синтаксисом.
Правда, при этом встает вопрос о невозможности использовать чужой coffeescript с незнакомыми вам конструкциями.

Но и в случае отдельного ограниченного компилятора возникает та же проблема - какое количество сахара он должен транслировать, чтобы было удобно всем читать чужой код?
Как стандартизировать?
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2012, 04:48
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Gvozd
Как стандартизировать?
Наводишь на ответ "написать свой"?
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2012, 10:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Рубисты всегда славились тем, что ходили в чужой монастырь со своим уставом. Сначала Prototype написали, потом вот CoffeeScript. Если ты не рубист, то и CoffeeScript тебе не понравится.
Рубист -- в широком смысле, т.е. необязательно писать на Руби, достаточно, чтобы он тебе нравился. Мне, например, не нравится ни Руби, ни, соответственно, CoffeeScript.
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2012, 11:12
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Kolyaj, надо посмотреть на руби)) А то я до сих пор не знаю, отношусь ли я к этой касте)
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2012, 11:19
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от FINoM
действительно ли они используют кофескрипт для создания каких-нибудь вещей, сложнее, чем хеллоу ворлд.
Им лень учить JS, поэтому проще писать на CS

Сообщение от FINoM
Первый вопрос: что здесь что? Только потом, вчитавшись, понимаешь, что это метод attr, с аргументом {class: 'active'}.
Да ладно. Конечно не исключаю, что я привык к bash и такие конструкции сразу интуитивно понятны.

Сообщение от Kolyaj
Рубисты всегда славились тем, что ходили в чужой монастырь со своим уставом.
А как же .NET, Objective-J, Phype, ClojureScript, Parenscript, Dart, GWT?

Сообщение от Kolyaj
Если ты не рубист, то и CoffeeScript тебе не понравится.
А мне сильно нравится, хотя я далек от Ruby.
Кстати если уж пошел такой разговор, то 99% новых фич в ES6-7 будут из CS и Python.
Вобщем это эволюционное развитие языка, хоть я уже и приводил примеры будущего синтаксиса, на всякий

Последний раз редактировалось monolithed, 29.01.2012 в 11:33.
Ответить с цитированием
  #7 (permalink)  
Старый 29.01.2012, 11:42
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Gvozd
Пишите код, используя только необходимый вам сахар, а те конструкции, которые в Coffeescipt выглядят непривычно, записывайте стандартным JS синтаксисом.
По-моему, там так нельзя.

Сообщение от FINoM
Честно говоря, хотел бы иметь в арсенале быстрый компилятор ограниченного количества сахара в JS, например, (краткие) -> записи*функций, генераторы, let и yield. Может еще чего-то из новых экмаскриптов.
Traceur
Ответить с цитированием
  #8 (permalink)  
Старый 29.01.2012, 11:42
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от B@rmaley.e><e
По-моему, там так нельзя.
Раньше вроде можно было, сейчас компилятор не понимает такие конструкции

к примеру if (true) транслирует в i; (нужно писать так: if true then)

if (1) then транслирует в if (1.) {}, что-то глучить стал.

Последний раз редактировалось monolithed, 29.01.2012 в 11:59.
Ответить с цитированием
  #9 (permalink)  
Старый 29.01.2012, 12:35
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от monolithed
if true then
В этот момент я понял, что точно не буду пользоваться coffeescript. Потому что if-then меня ещё в паскале достали.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 29.01.2012, 12:54
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от FINoM Посмотреть сообщение
Хотя при всей своей крутости, язык попахивает бредом:
$('.account').attr class: 'active'
Первый вопрос: что здесь что? Только потом, вчитавшись, понимаешь, что это метод attr, с аргументом {class: 'active'}.
А по мне так всё нормально и интуитивно понятно.

Сообщение от FINoM Посмотреть сообщение
Вот это вообще кердык:
outer = 1
changeNumbers = ->
  inner = -1
  outer = 10
inner = changeNumbers()
Только прочитав результирующий JS я понял, что функция changeNumbers возвращает outer = 10.
Здесь всё вообще кристально понятно.

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

Сообщение от FINoM Посмотреть сообщение
А еще тут не используется var o_0
По секрету скажу что использование var меня немного бесит. В Erlang тоже нет var, но там переменную вообще нельзя переопределить и все переменные пишутся с заглавной буквы, что ну офигеть как удобно. Не нужны баксы($) или var-ы. Слово с заглавной буквы - значит переменная.

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

Ты наверное ещё никогда не видел как список можно поделить на голову и хвост

Попробуй почитать другой язык, тот же Erlang или Ruby, может понравиться и негативного отношения не будет к другому стилю написания.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Кто розбирается в js и кто поможет переделать его или создать заново Starpomlom Javascript под браузер 10 26.12.2011 14:46
кто что использует для модульности скриптов? vflash Библиотеки/Тулкиты/Фреймворки 42 18.09.2011 20:06
Кто нибудь подскажет onmouseout при ul > li > ul, или все Великие kudenv Элементы интерфейса 2 12.03.2011 12:34