В одном это обсуждении Хаскель встречается два раза и дважды же встречается термин "монада". И упоминание о Maybe тоже.
Причём один комментарий в стиле "я использовал Maybe потому, что надёжно, а теперь ещё и монады изучил, и получается коротко. мои волосы мягкие и шелковистые".
Из моих знаний про аудиторию слешдота я делаю вывод, что Хаскель уже давно в массах.
Просто не все читают слешдот.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Начал читать дальше и обнаружил упоминание об алгебраических типах данных.
Кстати, AFAIK, они были разработаны в 1969 году Тедом Бурсталлом, совсем недалеко по времени от разработки Algol-W, о котором шла речь. Также постарался и отец Коннора МакБрайда, одного из создателей Эпиграмма.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, thesz, Вы писали:
T>Обсуждение на слешдоте "Нулевой ссылки: ошибки на миллион долларов".
T>В одном это обсуждении Хаскель встречается два раза и дважды же встречается термин "монада". И упоминание о Maybe тоже.
T>Причём один комментарий в стиле "я использовал Maybe потому, что надёжно, а теперь ещё и монады изучил, и получается коротко. мои волосы мягкие и шелковистые".
T>Из моих знаний про аудиторию слешдота я делаю вывод, что Хаскель уже давно в массах.
Честно говоря, не очень понятно, по какому поводу радость? Ну обсуждают, ну знают, и что? Зачем постить ссылку на каждое такое обсуждение?
T>>Обсуждение на слешдоте "Нулевой ссылки: ошибки на миллион долларов". T>>Из моих знаний про аудиторию слешдота я делаю вывод, что Хаскель уже давно в массах. Q>Честно говоря, не очень понятно, по какому поводу радость? Ну обсуждают, ну знают, и что? Зачем постить ссылку на каждое такое обсуждение?
(с горящими глазами) А где ещё посты со ссылками на такие обсуждения?
(внезапно меняя настроение, подозрительно) А где я ещё постил ссылки на каждые такие обсуждения?
Радость по поводу общего уровня знаний. Что в обсуждении нулевых ссылок, как ошибки, модераторы поднимают вверх комментарии про функциональные ЯП и алгебраические типы данных. Что это всё не проходит мимо обычного программиста.
Радость, ещё, по поводу весны.
Да последней причины вполне достаточно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
N>С словом "мэйнстрим" не согласен. Сам при выборе инструментов использую следующую четырех-уровневую систему: N>1) Бангалор: Ява, С#, PHP N>2) Слэшдот-продакшен: Питон, Руби, C++, Перл, Лисп,... N>3) Слэшдот-песочница: Скала, Хаскелл, F#,... N>4) Академка: Epigram и прочая LTU
N>Переход из 4) в 3) Хаскель не может не радовать, но "мэйнстрим" это все же 1) и 2)
Нененене, Дэвид Блейн!
Нам Бангалор не нужен, это раз.
Два состоит в том, что люди какие-то программы на Хаскеле пишут. Воюют с монадами и Maybe. Ценно. Уровень "индустриальности" этих программ нам неизвестен, да ну и что.
Ценнее всего сам факт, что монады и Maybe появляются в отвлеченном разговоре сами по себе и их поднимают модераторы.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, thesz, Вы писали:
T>Ценнее всего сам факт, что монады и Maybe появляются в отвлеченном разговоре сами по себе и их поднимают модераторы.
С точки зрения обшей "культуры" — да, ценно, но я практик-эгоист. ИМХО монады монадами, но пока чистому ФП до "майнстрима", как до луны. Да и бог с ним, пусть хоть нормальный гибрид наконец выплывет на поверхность. Надоело, блин, в каменном веке сидеть!
Здравствуйте, E.V.E, Вы писали: EVE>Есть такой вопрос: почему Lisp считается продакшн
Скорее всего потому, что на CL работает немало проприетарных (легаси?)решений (иначе бы монстры, типа franz.com давно бы загнулись), просто со стороны, например мне, сложно оценить масштаб.
T>>Ценнее всего сам факт, что монады и Maybe появляются в отвлеченном разговоре сами по себе и их поднимают модераторы. N>С точки зрения обшей "культуры" — да, ценно, но я практик-эгоист. ИМХО монады монадами, но пока чистому ФП до "майнстрима", как до луны. Да и бог с ним, пусть хоть нормальный гибрид наконец выплывет на поверхность. Надоело, блин, в каменном веке сидеть!
Вот и весь практик-эгоист. Вместо того, чтобы пользоваться уже готовым, сидит и поёт арию князя Игоря "Ни сна, ни отдыха измученной душе": "ах дайте, дайте хотя бы гибрид, мне надоело в веке каменном жить!"
Эгоист виден. Практик — нет.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Здравствуйте, thesz, Вы писали:
T>>Радость, ещё, по поводу весны.
T>>Да последней причины вполне достаточно.
BZ>почему тогда ссылка на слэшдот, а не telki.ru?
Чёй-то там ничего интересного... Сайт не соответствует адресу
Здравствуйте, thesz, Вы писали:
T>Эгоист виден. Практик — нет.
Я практик не в гаражном стартапе, а в крупном бизнесе и социальные факторы игнорировать не могу.
И даже если смотреть только на технологию, в Хаскеле куча тонких мест (ленивость, монады, отсутствие отладчика, etc), которые не добавляют мне уверености, что процесс разработки улучшится в моей конкретной команде. Конечно, можно закрыть глаза и броситься "грудью на дзот", "трудности нам не страшны!", и ждать просветления, но хотелось бы иметь пару примеров "успешных подвигов". Где они? Был Darcs, но git и Mercurial, начавшие гораздо позже, просто убивают его функционалом и скоростью.
T>>Эгоист виден. Практик — нет. N>Я практик не в гаражном стартапе, а в крупном бизнесе и социальные факторы игнорировать не могу.
Эту фразу я вижу чаще всего.
Крупный бизнес состоит из кучи маленьких — подразделения, отделы и тп. Поэтому ты работаешь, на самом деле, в гаражном стартапе.
N>И даже если смотреть только на технологию, в Хаскеле куча тонких мест (ленивость, монады, отсутствие отладчика, etc), которые не добавляют мне уверености, что процесс разработки улучшится в моей конкретной команде.
Если смотреть только на технологии чуть-чуть пристальней, то в Хаскеле куча полезных мест (ленивость монады, отсутствие отладчика, etc), которые способствуют улучшению процесса разработки.
Разверну.
Ленивость стимулирует модульность (famous 'map f . map g === map (f . g)' example).
Монады стимулируют модульность. Но уже с другой стороны — написанным на комбинаторах вещам легко поменять реализацию комбинаторов, даже во время выполнения. Здесь — разбор, а здесь — подсветка.
Отсутствие отладчика стимулирует написание программ, о которых легко рассуждать и не нужно отлаживать.
N>Конечно, можно закрыть глаза и броситься "грудью на дзот", "трудности нам не страшны!", и ждать просветления, но хотелось бы иметь пару примеров "успешных подвигов".
"Другой смолчал, и стал пред ним ходить"
Я уже на втором месте работы их совершаю.
Другие их совершают: awson, vshabanov.
"Практиков" "на деле", а не на словах, на RSDN хватает.
Правда, не могу не отметить, что петь оперу князя Игоря гораздо проще. Я и сам грешен.
N>Где они? Был Darcs, но git и Mercurial, начавшие гораздо позже, просто убивают его функционалом и скоростью.
darcs2 и сейчас есть. "Просто убивают" это преувеличение, я думаю.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, thesz, Вы писали:
N>>Я практик не в гаражном стартапе, а в крупном бизнесе и социальные факторы игнорировать не могу.
Евгений Кирпичёв работает в яндексе афаик
а вообще, недостатки есть у каждого языка. сложности с отладкой/оптимизацией у маинстримных языков имхо выше. а вот "поддержка индустрии", т.е. наличие обученных людей/библиотек — она разумеется пропорциональна популярности языка
ps: я лично полагаю, что f# станет переходным вариантом и хаскел пойдёт в индустрию во второй половине 2010-х
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Евгений Кирпичёв работает в яндексе афаик
Вопрос не в том где кто работает (SPJ, например, работает в MS), а готов ли ты вложить значительные ресурсы в разработку на Хаскеле? Посмотри на риски...
Как быть с тем, что тебя с Зефировым мне не нанять, а если и нанять, то предметную область вы не знаете? Как быть с тем, что моей команде надо мозги кипятить полгода миниум, что бы просто овладеть всеми этими deforestation и zipper? А предметная область не компилятор, где есть хоть какой-то опыт, а числодробилка, где все существующие алгоритмы мутабельные? Добавь, что все это происходит в коммерческой компании, а не в "универе", и заказчики стоят над душой "неподетски"?
Это все громадные риски, на которые можно пойти только если реально видеть свет в конце туннеля. Извини, но я его не вижу. Где "killer app", где "success stories"? И это при том, что среда (GHC) уже давно на вполне индустриальном уровне.
Вот ты можешь честно сказать сейчас, что Хаскель дал бы реальный выигрыш при реализации FreeArc-а по сравнению с F# или Scala?
BZ>ps: я лично полагаю, что f# станет переходным вариантом и хаскел пойдёт в индустрию во второй половине 2010-х
Буду рад, хотя мне нужна открытая платформа, поэтому я хочу что-нибудь Scala-подобное...
Здравствуйте, thesz, Вы писали:
N>>Где они? Был Darcs, но git и Mercurial, начавшие гораздо позже, просто убивают его функционалом и скоростью. T>darcs2 и сейчас есть. "Просто убивают" это преувеличение, я думаю.
Нет.
T>>>Эгоист виден. Практик — нет. N>>Я практик не в гаражном стартапе, а в крупном бизнесе и социальные факторы игнорировать не могу.
T>Эту фразу я вижу чаще всего.
T>Крупный бизнес состоит из кучи маленьких — подразделения, отделы и тп. Поэтому ты работаешь, на самом деле, в гаражном стартапе. ;)
Я думаю, novitk имеет в виду _нормальную_ компанию, где желают получить прибыль и не в отдаленном будущем. :)
А если каждый отдел это гаражный стартап то и вся организация — большой гаражный стартап без определенного будущего, рвущийся во все стороны и топчущийся при этом на месте.
N>>И даже если смотреть только на технологию, в Хаскеле куча тонких мест (ленивость, монады, отсутствие отладчика, etc), которые не добавляют мне уверености, что процесс разработки улучшится в моей конкретной команде.
T>Если смотреть только на технологии чуть-чуть пристальней, то в Хаскеле куча полезных мест (ленивость монады, отсутствие отладчика, etc), которые способствуют улучшению процесса разработки.
T>Разверну.
T>Ленивость стимулирует модульность (famous 'map f . map g === map (f . g)' example).
Ага, и взрывает потребление памяти там, где этого не ждешь. В проекте <1K lines может быть это и не проблема. А если <1M lines? :-) Не согласны? Приведите успешный контр-пример.
T>Отсутствие отладчика стимулирует написание программ, о которых легко рассуждать и не нужно отлаживать.
Ага.. Тогда ASM-наше все. Отсутствие абстракций заставляет ну просто адски задуматься а потом реализовать эти абстракции вручную, да еще и с дикой оптимизацией. :)
А еще, отсутствие приличного IDE заставляет 100 раз подумать, прежде чем написать хоть строчку кода. Вплоть до того, что строчка эта потом пишется на Scala или F#.
Еще есть масса полезностей:
1. невозможность использовать стандартные технологии передачи сообщений. Действительно, зачем JMS и AMQP если можно тупо текст гонять по сырому TCP?
2. Удивительные красоты самого языка вроде операторов (,,,,,,,,).
можно и продолжить, но сейчас времени нет.
В общем, Haskell может и подойдет для чего-то в production, но область приминимости стремится к нулю.
Здравствуйте, thesz, Вы писали:
T>Ленивость стимулирует модульность (famous 'map f . map g === map (f . g)' example).
А можно развернуть для чайников, о какой модульности здесь идет речь?
T>Отсутствие отладчика стимулирует написание программ, о которых легко рассуждать и не нужно отлаживать.
Прошу прощения за грубость, но это достойно войти в аналы вместе с вот этой