metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2016-02-01 12:01 pm

Эрланг-шытсторм

http://jamhed.livejournal.com/237948.html
http://jamhed.livejournal.com/239564.html
http://jamhed.livejournal.com/240154.html

http://maxim.livejournal.com/468313.html

Знаете, что самое раздражающее в этих срачах? Что инженерных/технических и прочих строгих методов различить кто прав и кто не прав в этом - нету.
Я уверен, что при достаточных скиллах будут работать оба решения - что горы велосипедов марки NIH, что усиленная ебля с чужим "готовым" кодом в заставлении его работать как положено.

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

[identity profile] anonim-legion.livejournal.com 2016-02-01 05:20 pm (UTC)(link)
Невозможно. Только с высоты собственного опыта, а он для доказательства чего-то малоприменим, как выяснилось в недавней беседе с [livejournal.com profile] mudasobwa

[identity profile] blackyblack.livejournal.com 2016-02-01 05:34 pm (UTC)(link)
Замена gen_server на gen_fsm - это капля в море стоимости поддержки. В 99% случаев достаточно изолировать проблемный модуль за фиксированным API и не тратить время и деньги (и не сраться с предыдущими кодерами, никто не совершенен).

[identity profile] blackyblack.livejournal.com 2016-02-01 05:35 pm (UTC)(link)
Если заказчик разрешает, то почему бы и нет.

[identity profile] thesz.livejournal.com 2016-02-01 05:58 pm (UTC)(link)
Я тоже так думаю.

А что там с [livejournal.com profile] mudasobwa, прошу прощения?

[identity profile] enternet.livejournal.com 2016-02-01 06:20 pm (UTC)(link)
Спасибо! И, кстати, по канону канала HBO мы так и останемся с недосказанными моментами в основной линии )

[identity profile] nealar.livejournal.com 2016-02-01 09:10 pm (UTC)(link)
Люто-бешено аплодирую.

[identity profile] grey-kristy.livejournal.com 2016-02-02 10:22 am (UTC)(link)
До HBO не дотягивает - ни одного трупа в первые 15 минут

[identity profile] theaspect.livejournal.com 2016-02-02 02:21 pm (UTC)(link)
не загорится, нужно что-то одно

[identity profile] dmitriid.livejournal.com 2016-02-03 09:24 am (UTC)(link)
В документации с незапамятных времен шел OTP Design Principles User Guide, где пусть и кратко, но описано, что и зачем

[identity profile] vit-r.livejournal.com 2016-02-03 09:28 am (UTC)(link)
Хреново там было описано, когда я это читал. Сейчас - не знаю.

[identity profile] cottidianus.livejournal.com 2016-02-03 09:40 am (UTC)(link)


отлично написано

[identity profile] ororsnow.livejournal.com 2016-02-04 04:40 pm (UTC)(link)
Сори за офф

Image (http://goo.gl/G5nsM2)
Увеличить! (http://goo.gl/G5nsM2)

[identity profile] levgem.livejournal.com 2016-03-13 08:40 pm (UTC)(link)
вот и мне интересно: при чём тут эрланг то =)

[identity profile] levgem.livejournal.com 2016-03-13 08:44 pm (UTC)(link)
скорее всего работает очень прикольно на ноутбуке и почти никак в продакшне.

При всей клевости эрланга, попытки героически заменить всё на «простые решения» заканчиваются так же, как и в нормальной жизни: никак.

Рассказ того же migmit-а это хорошая иллюстрация к тому, что некоторые возможности эрланга подталкивают к забавным решениям, которые потом оказываются кошмаром.

Например, одна из серьезных ошибок — это асинхронность в коде. Посылка сообщения или gen_server:cast вместо синхронного вызова call с очень большой вероятностью превращается в проблему. Такой код очень тяжело тестировать, а под нагрузкой он может превратиться в точку утечки памяти, для этого достаточно слать без подтверждения сообщения в процесс, который пишет в сеть или на диск.

Page 3 of 3