Насколько я знаю, осталось GHC только realtime-мусорщик допилить. Других преимуществ у erlang'а, как у платформы, уже не остаётся, пожалуй. Правда, есть готовые и работающие вещи, что немаловажно. Где я не прав? ;-)
>замечательно реализованный, но конкретный набор вещей, чтобы "делать строго вот так и не иначе >гибкость в выборе "как делать", но набор готовых вещей неконкретный и с безусловно более слабыми реализациями штук Собственно, вечный вопрос - шашечки или ехать. Первое очень удобно в плане понятности чужого кода и скорости обучения.
Вот сейчас пытаюсь хаскельное решение поднять, довольно несложное, но с точки зрения развёртывания и "админства" Эрланг, на мой взгляд, намного прозрачней. Там я могу посмотреть какие процессы работают, заглянуть даж в их стэки, воткнуть условный дебаг (типа выборочное логгирование). В случае хаскеля я могу наворотить больше и круче, но вся работа по логгированию, учёту ошибок и т.п. 100% ложится на автора на момент написания кода. Хотя тут на днях удалось и Эрланг раком поставить (так и не выяснили как). Возможно я слишком ламер в Хаскеле, но с точки зрения операционной стоимости (т.е. стоимости поддержки) Эрланг по-моему заметно выше Хаскеля. Сразу оговорюсь, что я это говорю относительно сервеных решений, к примеру web. Вещи "утилитного" плана, как-то компиляторы, к примеру, на Эрланге по-моему не стоит писать.
Ты, наверное, в очередной про решение "программистских" проблем, я-то ведь совсем о другом написал - о стоимости и сложности поддержки решений, т.е. об инфраструктурных вопросах реализации систем. Просто у Эрланга есть солидный опыт борьбы с подобным, о каком-то таком опыте людей программирующих на Хаскеле, который был бы доступен общественности (и хорошоб в виде кода) я вот сходу даж ничего не берусь сказать, может ты подскажешь?
Ты уж извини, но я не понимаю "инфраструктурных проблем". И "стоимость и сложность поддержки решений" я считаю с точки зрения добавления новых возможностей в логику.
Ну вот с ходу маленький пример - запускаем приложение отпшное, обнаружились некоторые неувязки в конфигурации, например, прав не хватило на нужну папку, SASL залогирует ошибку и можно будет разобрать, в чём же была проблема. Т.е. получается fail fast + логирование фейла "для разборок". В случае хаскеля (насколько я понимаю в рамках своей тёмности) мне, как минимум, нужно ловить исключения и логгировать. Причём вот тут - http://juick.com/qrilka/1659841 я даже не знаю где и что перехватывать, программа запускается, "работает", но порт не открыт и толку от неё 0.
Ну и, насколько я понимаю, ты, Сергей, администрированием почти не занимаешься, поэтому тебе, наверное, тебе вопросы поддержки работы систем важны. Я сам не админ, но приходится.
Тем же nc порты открываются на ура. Но это просто пример из текущей практики. Основная-то моя мысль в том, что Эрланг вместе с ограниченностью языка привносит ещё плюшки рантайма, которые для поддержки систем бывают очень полезны. Для хаскеля я вот подобных вещей не знаю. Но я уже повторяюсь, сорри.
А nc открывает порты когда? После запуска из под рута? А наименьшего размера программу с ошибкой можно получить? И ещё куча вопросов.
Я не знаю, что там у тебя происходит. Я не уверен, что Эрланг бы запротоколировал всё в достаточной для исправления проблемы степени. И кстати, с ним-то работает?
И последнее. Сделал бы ты эти "плюшки", что ли. Дело очередной библиотеки. Мне (пока) не интересно, поэтому я не смогу.
а) не совсем я, а автор hdaemonize б) это "нормальный" способ создания демонов unix, к сожалению, я не могу чётко аргументировать разницу между хаскельным форканьем и юниксовым (подозреваю, что может быть разница с т.зр. прав рабочего процесса и "мониторящего") в) я перевёл это дело в итоге на upstart
Получается, что нет полного аналога "OTP/Haskell". Всё собирается на коленке и, поскольку всё взаимодействует с внешним миром, взаимодействует между собой загадочными путями.
И есть некоторая необходимость в этом самом OTP/Haskell - чтобы раз! и всё из коробки.
Других преимуществ у erlang'а, как у платформы, уже не остаётся, пожалуй.
Правда, есть готовые и работающие вещи, что немаловажно.
Где я не прав? ;-)
Reply
>замечательно реализованный, но конкретный набор вещей, чтобы "делать строго вот так и не иначе
>гибкость в выборе "как делать", но набор готовых вещей неконкретный и с безусловно более слабыми реализациями штук
Собственно, вечный вопрос - шашечки или ехать. Первое очень удобно в плане понятности чужого кода и скорости обучения.
Reply
Хотя тут на днях удалось и Эрланг раком поставить (так и не выяснили как).
Возможно я слишком ламер в Хаскеле, но с точки зрения операционной стоимости (т.е. стоимости поддержки) Эрланг по-моему заметно выше Хаскеля.
Сразу оговорюсь, что я это говорю относительно сервеных решений, к примеру web.
Вещи "утилитного" плана, как-то компиляторы, к примеру, на Эрланге по-моему не стоит писать.
Reply
Я подожду полгода-год. До столкновения с проблемами, которые на Эрланге не могут быть решены хорошо. ;)
Reply
Просто у Эрланга есть солидный опыт борьбы с подобным, о каком-то таком опыте людей программирующих на Хаскеле, который был бы доступен общественности (и хорошоб в виде кода) я вот сходу даж ничего не берусь сказать, может ты подскажешь?
Reply
Если у тебя есть конкретные вопросы, задавай.
Reply
Т.е. получается fail fast + логирование фейла "для разборок".
В случае хаскеля (насколько я понимаю в рамках своей тёмности) мне, как минимум, нужно ловить исключения и логгировать. Причём вот тут - http://juick.com/qrilka/1659841 я даже не знаю где и что перехватывать, программа запускается, "работает", но порт не открыт и толку от неё 0.
Ну и, насколько я понимаю, ты, Сергей, администрированием почти не занимаешься, поэтому тебе, наверное, тебе вопросы поддержки работы систем важны.
Я сам не админ, но приходится.
Reply
Reply
Но это просто пример из текущей практики.
Основная-то моя мысль в том, что Эрланг вместе с ограниченностью языка привносит ещё плюшки рантайма, которые для поддержки систем бывают очень полезны. Для хаскеля я вот подобных вещей не знаю.
Но я уже повторяюсь, сорри.
Reply
А nc открывает порты когда? После запуска из под рута? А наименьшего размера программу с ошибкой можно получить? И ещё куча вопросов.
Я не знаю, что там у тебя происходит. Я не уверен, что Эрланг бы запротоколировал всё в достаточной для исправления проблемы степени. И кстати, с ним-то работает?
И последнее. Сделал бы ты эти "плюшки", что ли. Дело очередной библиотеки. Мне (пока) не интересно, поэтому я не смогу.
Reply
Я не вижу, зачем это делать, при наличии весьма зелёных нитей. Не объяснишь?
Reply
б) это "нормальный" способ создания демонов unix, к сожалению, я не могу чётко аргументировать разницу между хаскельным форканьем и юниксовым (подозреваю, что может быть разница с т.зр. прав рабочего процесса и "мониторящего")
в) я перевёл это дело в итоге на upstart
Reply
Получается, что нет полного аналога "OTP/Haskell". Всё собирается на коленке и, поскольку всё взаимодействует с внешним миром, взаимодействует между собой загадочными путями.
И есть некоторая необходимость в этом самом OTP/Haskell - чтобы раз! и всё из коробки.
(у меня появилась возможность донести мысль)
Reply
Leave a comment