Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Category:

Пропро цессы.

Хотел написать большой пост, ограничусь парой слов.

Про горячую замену кода.

По моему мнению, она применима ровно по месту. Это место зовётся Роберт Полсон "AXD-301 и клоны". Внимательное чтение диссертации Джо Армстронга хорошо про это рассказывает, второй же пример использования горячей замены кода (Bluetail Mail Robustifier, BMR, стр. 185 диссертации) использует останов всей системы целиком, а так же требует разработки кода для обновления данных из уже работающей системы в обновляемую и (!внимание!) обратно. Ладно бы это происходило автоматически.

Языки стоит оценивать по трудоёмкости написания на них библиотек. Чем меньше трудоёмкость, тем лучше. Собственно, священный трепет перед невыразимой прелестью heartbeat monitor и прочими возможностями, встроенными в Эрланг, кричит о незнании, где же можно по-другому. И как по-другому можно.

Предпоследнее.

Выбирая язык Эрланг в качестве языка реализации какой-то задачи, вы выбираете язык, который ориентирован на построение отказоустойчивых систем, со всеми присущими ему let it fail и динамическими типизациями. Если вспомнить про параллель с молотком и гвоздями, то я даже не знаю, как спозиционировать Эрланг. Я думаю, что ближайшей аналогией будет робот с конвейера по сборке автомобилей. И вот им надо забивать гвозди.

И последнее.

Эрланг выбирается из соображений экономии времени на каких-то важных задачах. Я бы хотел, чтобы выбирающие (и выбравшие) его задались простыми вопросоми: а так ли важны эти возможности? Так ли часто будет возникать необходимость в них? Не ограничивает ли Эрланг их в чём-то ещё? Чтобы они не транслировали мантры при каждом обращении к этой теме, а говорили взвешено и с фактами на руках.

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

В заключение скажу, что не выходя из Хаскеля при реализации встроенной в Эрланг возможности я отстану по скорости не более, чем в пять раз и приобрету способности, далеко выходящие за рамки возможностей Эрланга (мой отстававший в пять раз код по работе с числами Голомба реализовывал интерфейс разборщика на монадах). А вот знакомые с Хаскелем товарищи ощущают потребность в ленивых списках, которые в Эрланге не реализовать за приемлемое время ну никак.

Такие, вот, дела.

PS
Навеяно недавними комментариями от Эрлангиста, что не представляет себе, как типы повышают производительность. Блин.
Tags: ЖЖ, Хаскель, Эрланг, не люблю, священные войны
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 38 comments