coffeescript
Feb. 26th, 2013 09:31 pmПопробовал писать на Coffeescript, и приятно удивлен. Удобный и интуитивный язык, писать на нем намного приятнее, чем на голом JS, и притом он специально от него далеко не отходит, т.е. результаты трансляции всегда прозрачны.
Ну вот просто красиво выходит, приятно. Javascript он какой-то весь угловатый, острый, дикий, яркий свет из лампы следователя в лицо, а Coffeescript - мягкие тона, непринужденная беседа, свежий воздух после дождя. Странно, что вся эта эстетика настолько влияет на желание что-то написать и эффективность работы, но вот ведь, влияет.
(я добавил в онлайн-версию Jelly No Puzzle Эвана Мартина возможность блокам толкать другие блоки, и это починило третий уровень. В принципе я собираюсь добавить недостающие возможности и оставшиеся уровни, если Эван меня не опередит в этом)
Ну вот просто красиво выходит, приятно. Javascript он какой-то весь угловатый, острый, дикий, яркий свет из лампы следователя в лицо, а Coffeescript - мягкие тона, непринужденная беседа, свежий воздух после дождя. Странно, что вся эта эстетика настолько влияет на желание что-то написать и эффективность работы, но вот ведь, влияет.
(я добавил в онлайн-версию Jelly No Puzzle Эвана Мартина возможность блокам толкать другие блоки, и это починило третий уровень. В принципе я собираюсь добавить недостающие возможности и оставшиеся уровни, если Эван меня не опередит в этом)
no subject
Date: 2013-02-26 07:33 pm (UTC)no subject
Date: 2013-02-26 07:37 pm (UTC)no subject
Date: 2013-02-26 07:38 pm (UTC)no subject
Date: 2013-02-27 06:32 am (UTC)no subject
Date: 2013-02-26 08:47 pm (UTC)no subject
Date: 2013-02-26 08:09 pm (UTC)И в целом за эту милейшую игрушку. Очень интересная головоломка, с неожиданным свойством: найдя решение для уровня, уже на следующий день напрочь забываю, как я это сделал, и приходится заново решать))
no subject
Date: 2013-02-26 08:17 pm (UTC)Да, я тоже это обнаружил :) на третий раз вроде бы вспоминается зато!
no subject
Date: 2013-02-26 08:37 pm (UTC)наверное, обалдев от затрат на повторный поиск решения, психика делает доп. усилие и сохраняет-таки решение "чтобы в третий раз не искать"))
no subject
Date: 2013-02-26 08:12 pm (UTC)А datatype'ы с pattern matching'ом там есть?
no subject
Date: 2013-02-26 08:17 pm (UTC)Datatype'ов с pattern matching'ом нет, и не надо :) Это нарушило бы их принцип не отходить далеко от JS.
no subject
Date: 2013-02-26 08:46 pm (UTC)no subject
Date: 2013-02-26 09:48 pm (UTC)то есть вы считаете, что нормальный программист, пишущий на JS, постоянно плюется и говорит "ну где, где моя любая vanilla Java, как мне без нее трудно, без родной" ?
no subject
Date: 2013-02-27 06:16 am (UTC)Только причем здесь ванильная ява? Это что ли образец совершенного языка?
no subject
Date: 2013-02-27 11:04 am (UTC)вопрос в том, что понимать под мелочевкой
вот эта игра, которая обсуждается в этом топике - это мелочевка или нет?
начиная с какого количества строк кода начинается не-мелочевка?
и вообще, мне кажется вы недооцениваете как часто в вебе нужно написать некий небольшой модуль кода, где JS идеально подходит
ваша позиция тут схожа с позицией человека, который стал бы говорить, что он удивляеются как люди относятся к легковым автомобилям как к настоящим, в то время как настоящие машины, по его мнению, это грузовики, а легковушки - это мелочевка, непонятно зачем нужная.
no subject
Date: 2013-02-27 11:23 am (UTC)Я вовсе не утверждал, что мелкие изделия нужны редко, и даже склонен поверить в обратное, хотя веб-программированием никогда не занимался. Другой вопрос, как обычно выглядит архитектура монструозных веб-проектов, и какова их доля среди всего того, что отображает браузер усредненного пользователя. Мне не верится, что в больших проектах доля JS-кода значительна.
Кстати, комментарий в конце кода JS-версии игры отчасти подтверждает мой тезис, о том, что не стоит писать на JS руками.
no subject
Date: 2013-02-27 12:24 pm (UTC)no subject
Date: 2013-02-27 06:26 am (UTC)no subject
Date: 2013-02-27 11:07 am (UTC)no subject
Date: 2013-02-27 11:37 am (UTC)Как встроенный в броузер - выбор не большой. Все то, что компилируется в js. Понятно, что если без компиляции можно обойтись, то многие и будут обходиться, так как скопировать свежеотредактированный файл проще, чем его сначала чем-то компилировать. Но не смотря на это компиляторы появляютс в большом количестве. Я побозреваю, что любой из них будет лучше родного джаваскрипта, но пока сам не смотрел. Джаваскрипт у меня надолго отбил желание клиентской стороной заниматься.
no subject
Date: 2013-02-27 08:54 am (UTC)Это расширение коффескрипта всего двумя ключевыми словами: await и defer.
Позволяет очень прозрачно писать всякие асинхронные вещи.
no subject
Date: 2013-02-27 03:50 am (UTC)Ну и второй недостаток языка - типизации все-таки очень не хватает.
no subject
Date: 2013-02-27 06:28 am (UTC)Для меня обычные Haskell, Scala, Scheme. Но для броузера что-то писать приходится - думаю, куда смотреть.
no subject
Date: 2013-02-27 07:37 pm (UTC)Haskell уродлив в не-функциональных кусках. Scheme замусорена скобками. И только Coffeescript просто не замечаешь.
no subject
Date: 2013-02-27 01:37 pm (UTC)типизация начинает становиться нужной только в больших проектах. Вы пишете свой аналог Линукса для браузера на js, как Фабрис Бейяр? или свой ПДФ-ридер на js? Тогда да.
no subject
Date: 2013-02-27 07:53 pm (UTC)no subject
Date: 2013-02-28 06:11 am (UTC)ага. у нас в продакте уже пол-года. для панельуи управления (админки).