Что-то я, граждане, в очередной раз не понимаю, зачем нужен Erlang. Т.е очередная моя история с ним, кажется, близка к фейлу в стиле вступления презентации про опердень
( Read more... )
Ну короче это мой очередной фейл.Когда у тебя миллионы устройств, надо делать так, что бы не возникала потребность разбираться с ними в продакшене т.к. это не работает.
План "Б" есть, но блин я не знаю, как его продавать. Эрланг-то легко продать.
Ну вот у тебя есть success story с трекерами. Наверное, там все-таки можно. Есть fail story с роутером. По непонятным пока причинам.
КМК дело не в инструменте, все-таки, а в людях, которые его использует. У одних получается, у других клин. И кодогенерация не панацея. Хотя с ней, наверное, проще, нежели без нее.
Ну конечно, в людях. Я опять пустил процесс на самотёк, т.к. задача-то уныловата - с одной стороны, непонятно что вообще нужно (требований нет вообще), с другой строны она выглядит примитивной и скучной - дернули по вебу, ты утилитки по настройке подергал. Итог, короче, немного предсказуем уже полгода, чуда не произошло.
C оперденью тоже фейлы людские. Там все доходило до момента, когда нужно было брать и ибошить - и тут все сломались. Если бы взяли какое Дельфи, прости госпади, результат был такой же, только отложенный, а сначала бы пер энтузиазм за счет короткой петли обратной связи ("я тут компонентов на формочку набросал и оно работает").
То что можно на C написать систему с акторами и message passing... Ну можно конечно, Erlang ведь на C написан. Но зачем же это писать самому второй раз?
Быстрый вопрос: можно ли там эволюционировать кластер постепенно, нода за нодой? Чтобы менялись сообщения, их типы, а система оставалась на плаву без необходимости перекомпилировать и рестартовать вообще всё?
Быстрый ответ (не глядя) --- скорее всего нет. Но есть мнение, что вся эта вот машинерия с кластерами, обновлениями и т.п. должна быть вне языка. Что бы ноды кластера можно было писать уже на чём угодно. Привязка к определенному языку это ошибка.
Comments 153
Reply
как именно описать именно это.
Reply
Reply
Вот формальное описание одной из частей интерфейса (CLI): https://gist.github.com/voidlizard/9d2baec9cefd5e6495c1
WEB этому ээээ изоморфен, что ли? Короче, из этих атомов можно описать вебные сессии, добавляется только одна новая сущность.
Потом описать маппинг команд и параметров на вызовы бизнес-логики. Валидация может быть сделана автоматически.
Модель CWMP неизоморфна модели, описанной в этом DSL, но понятно, как сделать адаптер.
Reply
>>> Дело, конечно, не в эрланге, а в том, что бы понимать, для каких задач его использовать, а для каких --- нет.
>>> Взять вот текущую систему.
Ну че, логично и обычно. Взяли новый инструмент, не туда сунули, а вывод что старый привычный инструмент няшка и самый крутой.
Reply
Вы с историей презентации про опердень знакомы?
Reply
Но чем дальше, тем меньше я в нём профита вижу.
Reply
У нас сейчас пошло много поддержки кастомеров и если бы была говножабка или С++, то ценники на поддержку и время реакции было бы во много раз выше.
Reply
что бы не возникала потребность разбираться с ними в продакшене т.к. это не работает.
План "Б" есть, но блин я не знаю, как его продавать. Эрланг-то легко продать.
Reply
Есть fail story с роутером. По непонятным пока причинам.
КМК дело не в инструменте, все-таки, а в людях, которые его использует. У одних получается, у других клин. И кодогенерация не панацея. Хотя с ней, наверное, проще, нежели без нее.
Reply
Reply
Reply
Reply
То что можно на C написать систему с акторами и message passing... Ну можно конечно, Erlang ведь на C написан. Но зачем же это писать самому второй раз?
Reply
Reply
Reply
писать уже на чём угодно. Привязка к определенному языку это ошибка.
Reply
Leave a comment