суббота, 17 октября 2015 г.

[prog.flame.c++] "...мы до конца не разобрались в причинах...решили не заморачиваться и переписать его на Go"

Наткнулся на фееричный фрагмент в рассказе об опыте использования Go в Яндексе:

В Go не может быть ошибок памяти, это сильно помогает, так как не всегда и не всем удается быть внимательным. У нас есть приложение suggest-data, оно при старте загружает в себя 300 мегабайт данных. Когда оно было написано на плюсах, то временами падало, что вызывало легкий дискомфорт у нашего админа. В первый раз когда оно падало, это было из-за фреймворка Кокаина. Это пофиксили, но потом падения продолжились, во второй раз мы до конца не разобрались в причинах, возможно, была проблема и в том, что мы что-то не так написали. В результате решили не заморачиваться и переписать его на Go (там было всего 200 строк кода). Падения сразу исчезли.

Честно скажу, не сразу осознал написанное. Программисты хваленого Яндекса, который славился жесткими методами отбора сотрудников, вроде как должны были бы быть разработчиками высокой квалификации -- и не смогли найти утечки в C++ной программе на двести (двести, Карл!) строк?!!

Блин, как такое возможно вообще?

А вот это: "возможно, была проблема и в том, что мы что-то не так написали"?

Возможно? Они еще спрашивают, возможно ли в этом была причина?

Честно скажу, после такого эпичный фэйл с перезапуском Кинопоиска начинает играть новыми красками.

Комментариев нет: