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] levgem.livejournal.com 2016-03-13 08:44 pm (UTC)(link)
скорее всего работает очень прикольно на ноутбуке и почти никак в продакшне.

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

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

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