Leave a comment

nivanych December 3 2011, 07:18:01 UTC
Насколько я знаю, осталось GHC только realtime-мусорщик допилить.
Других преимуществ у erlang'а, как у платформы, уже не остаётся, пожалуй.
Правда, есть готовые и работающие вещи, что немаловажно.
Где я не прав? ;-)

Reply

si14 December 7 2011, 11:04:51 UTC
Да, не могу поспорить с большей частью поста.

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

Reply

kurilka December 7 2011, 11:09:37 UTC
Вот сейчас пытаюсь хаскельное решение поднять, довольно несложное, но с точки зрения развёртывания и "админства" Эрланг, на мой взгляд, намного прозрачней. Там я могу посмотреть какие процессы работают, заглянуть даж в их стэки, воткнуть условный дебаг (типа выборочное логгирование). В случае хаскеля я могу наворотить больше и круче, но вся работа по логгированию, учёту ошибок и т.п. 100% ложится на автора на момент написания кода.
Хотя тут на днях удалось и Эрланг раком поставить (так и не выяснили как).
Возможно я слишком ламер в Хаскеле, но с точки зрения операционной стоимости (т.е. стоимости поддержки) Эрланг по-моему заметно выше Хаскеля.
Сразу оговорюсь, что я это говорю относительно сервеных решений, к примеру web.
Вещи "утилитного" плана, как-то компиляторы, к примеру, на Эрланге по-моему не стоит писать.

Reply

thesz December 7 2011, 11:11:28 UTC
>Возможно я слишком ламер в Хаскеле, но с точки зрения операционной стоимости (т.е. стоимости поддержки) Эрланг по-моему заметно выше Хаскеля.

Я подожду полгода-год. До столкновения с проблемами, которые на Эрланге не могут быть решены хорошо. ;)

Reply

kurilka December 7 2011, 11:21:02 UTC
Ты, наверное, в очередной про решение "программистских" проблем, я-то ведь совсем о другом написал - о стоимости и сложности поддержки решений, т.е. об инфраструктурных вопросах реализации систем.
Просто у Эрланга есть солидный опыт борьбы с подобным, о каком-то таком опыте людей программирующих на Хаскеле, который был бы доступен общественности (и хорошоб в виде кода) я вот сходу даж ничего не берусь сказать, может ты подскажешь?

Reply

thesz December 7 2011, 11:36:09 UTC
Ты уж извини, но я не понимаю "инфраструктурных проблем". И "стоимость и сложность поддержки решений" я считаю с точки зрения добавления новых возможностей в логику.

Если у тебя есть конкретные вопросы, задавай.

Reply

kurilka December 7 2011, 12:01:47 UTC
Ну вот с ходу маленький пример - запускаем приложение отпшное, обнаружились некоторые неувязки в конфигурации, например, прав не хватило на нужну папку, SASL залогирует ошибку и можно будет разобрать, в чём же была проблема.
Т.е. получается fail fast + логирование фейла "для разборок".
В случае хаскеля (насколько я понимаю в рамках своей тёмности) мне, как минимум, нужно ловить исключения и логгировать. Причём вот тут - http://juick.com/qrilka/1659841 я даже не знаю где и что перехватывать, программа запускается, "работает", но порт не открыт и толку от неё 0.

Ну и, насколько я понимаю, ты, Сергей, администрированием почти не занимаешься, поэтому тебе, наверное, тебе вопросы поддержки работы систем важны.
Я сам не админ, но приходится.

Reply

thesz December 7 2011, 12:23:26 UTC
Здесь я бы запустил программу на тикле. Или ещё на чём, хоть на C с perror. Это же один раз разобраться, не более.

Reply

kurilka December 7 2011, 12:35:59 UTC
Тем же nc порты открываются на ура.
Но это просто пример из текущей практики.
Основная-то моя мысль в том, что Эрланг вместе с ограниченностью языка привносит ещё плюшки рантайма, которые для поддержки систем бывают очень полезны. Для хаскеля я вот подобных вещей не знаю.
Но я уже повторяюсь, сорри.

Reply

thesz December 7 2011, 12:43:42 UTC
http://juick.com/qrilka/1659841

А nc открывает порты когда? После запуска из под рута? А наименьшего размера программу с ошибкой можно получить? И ещё куча вопросов.

Я не знаю, что там у тебя происходит. Я не уверен, что Эрланг бы запротоколировал всё в достаточной для исправления проблемы степени. И кстати, с ним-то работает?

И последнее. Сделал бы ты эти "плюшки", что ли. Дело очередной библиотеки. Мне (пока) не интересно, поэтому я не смогу.

Reply

thesz December 8 2011, 21:59:56 UTC
А вот зачем ты используешь forkProcess?

Я не вижу, зачем это делать, при наличии весьма зелёных нитей. Не объяснишь?

Reply

kurilka December 9 2011, 05:51:36 UTC
а) не совсем я, а автор hdaemonize
б) это "нормальный" способ создания демонов unix, к сожалению, я не могу чётко аргументировать разницу между хаскельным форканьем и юниксовым (подозреваю, что может быть разница с т.зр. прав рабочего процесса и "мониторящего")
в) я перевёл это дело в итоге на upstart

Reply

thesz December 12 2011, 21:12:14 UTC
Я подведу итоги.

Получается, что нет полного аналога "OTP/Haskell". Всё собирается на коленке и, поскольку всё взаимодействует с внешним миром, взаимодействует между собой загадочными путями.

И есть некоторая необходимость в этом самом OTP/Haskell - чтобы раз! и всё из коробки.

(у меня появилась возможность донести мысль)

Reply


Leave a comment

Up