чувак натуральный хиппи. Судя по его высказываниям худшее для него, что может случиться, это если ему повесить браслет с GPS, и все тогда будут знать где он находится.
Приведение типов это зло. И слава богу что нет неявного. Чего только стоили кошмарные поиски ошибок при неявных преобразования UINT в INT.
Если в программе потребовалось приведение типов, значит в этой программе с большой долей вероятности что-то неладно.
Я в свое время после С++ очень радовался в С#, что он еще на этапе компиляции выдавал ошибки при несоответствии типов. Эрлангу надо один раз завалиться, но тоже неплохо. Это лучше, чем потом иметь бессонную ночь перед релизом в поисках того, что якобы сэкономило время.
Он середнячок, пока у Вас 1 процесс. Как только серверу на эрланге дать нагрузку то вдруг неожиданно окажется что ему совершенно индифферентно 1 процесс или 100к.
Это почему же пример с БД надуман? Есть модуль который конфигурит кучу параметров, меняя значения в мнезии. На каждую такую запись идет евент {db_set,, }. Любой модуль в системе может подписаться на это дело своим геневентом и сделать что-нить полезное. Причем это полезное очень легко заменяется просто подсовыванием другого файла обработчика. Прелесть этого всего еще и в том, что оно асинхронное. Вызвалось и отработало. Результат своей отработки можно также кинуть еще одному геневенту или дернуть gen_server:cast если так хочется обратной связи. Но на практике этого еще ни разу не понадобилось.
А зачем получать сообщения в gen_event? Идеологически это ошибка. Событие уже есть, когда мы попали в gen_event. Больше ничего знать не надо. gen_event очень удобен, когда куче разным процессам необходимо делать какие-то действия при изменении в БД, например. Пишется кучка обработчиков каждый в своем отдельном модуле.
У нас также все логи пишутся через геневенты. Подкинул файл console_logger получил вывод в консоль, подкинул file_logger получил вывод в файл. И так далее db_logger, network_logger…
Ctrl+2 Полиция
Ctrl+3 Медики
Вставили бы ее в пост…
Это утопия
Erlang is not general purpose
Но он идеален, когда нужно обрабатывать гигантское количество запросов
Kilim этот конечно интересно, но что-то пока мало информации. Да и реальный проект бы поглядеть на этом чуде.
Если в программе потребовалось приведение типов, значит в этой программе с большой долей вероятности что-то неладно.
Я в свое время после С++ очень радовался в С#, что он еще на этапе компиляции выдавал ошибки при несоответствии типов. Эрлангу надо один раз завалиться, но тоже неплохо. Это лучше, чем потом иметь бессонную ночь перед релизом в поисках того, что якобы сэкономило время.
У нас также все логи пишутся через геневенты. Подкинул файл console_logger получил вывод в консоль, подкинул file_logger получил вывод в файл. И так далее db_logger, network_logger…