вторник, 28 августа 2018 г.

[life.work] Некоторые впечатления от митапа в Питере

Если говорить коротко, то мне понравилось. Отличная организация со стороны JetBrians. Уютная и удобная площадка для выступления. Мне, как гостю Питера, было прикольно выступать в зале, из окон которого видны питерские крыши, одна из Ростральных колон и собор Петра и Павла. Хорошая аудитория подобралась, насколько я мог судить по выражениям лиц слушателей, подавляющему большинству было интересно. Вопросы толковые задавали, как в рамках самого доклада, так и затем в кулуарах.

Говорил вроде бодренько, наверняка опять что-то где-то путал и запинался, но вроде как справился. Несколько раз отклонялся от основного текста доклада и уходил в импровизацию. Когда будет доступно видео, то нужно будет пересмотреть и оценить, насколько это испортило доклад.

В рамках подготовки к докладу еще раз убедился в том, что мы правильно сделали, когда "пошли своим путем" и реализовали в SObjectizer-е собственные идеи. Такие вещи, как mbox-ы, диспетчеры и, наверное, даже кооперации агентов, не только отличают SObjectizer от других подобных фреймворков, но и являются важнейшими факторами, позволяющими адаптировать SObjectizer под различные задачи. В общении после доклада это несколько раз находило свое подтверждение.

Сложно сказать, какие результаты это выступление принесет нам в долгосрочной перспективе. В краткосрочной мы уже получили неожиданный результат: Павел Бегунков нашел время и сделал небольшое ревью кода SObjectizer-а, указав нам ряд мест, где можно почистить код и поднять производительность. Сейчас с этим как раз и разбираюсь. Многие из косяков имеют древнюю историю и восходят ко временам 2010-го и начала 2011-го годов, когда поддержка C++0x/11 в компиляторах только-только начала появляться и нам приходилось действовать по старинке. Как раз отличный повод все это почистить и выпустить обновленную версию SObjectizer-а.

А вот вопрос на счет долгосрочных перспектив гораздо более важный и интересный. С одной стороны, есть ощущение, что не смотря на кучу срачей обсуждений на профильных форумах, выступлений на конференциях и многих статьях на Хабре, SObjectizer, как инструмент, даже в русскоязычном сообществе разработчиков известен не очень хорошо. Посему нужно усилить накал разоблачений кровавой тирании революционной агитации и пропаганды :)

С другой стороны, у меня давно есть подозрения, что во многих коллективах, занимающихся разработкой чего-либо более-менее серьезного на C++, либо уже написаны свои лисапеды по типу SObjectizer-а, либо же написанием этих лисапедов занимаются прямо сейчас. Общение с людьми после доклада только усилило эти подозрения.

Лисапедостроение в виде внутренних проектов, которые эксплуатируются только одной компанией, -- это не есть хорошо. Такие внутренние разработки, насколько я могу судить, являются постоянным потребителем ресурсов. При этом они далеко не всегда хорошо задокументированы, а по началу еще и не всегда в достаточной степени стабильны и отлажены.

Поэтому мой совет тем компаниям, которые владеют подобными инструментами и не знают, что теперь с этим делать: избавляйтесь от доморощенных решений. Если только вы не Google, Facebook, Amazon или Yandex.

Есть готовые фреймворки для C++. Не нравится вам SObjectizer -- возьмите C++ Actor Framework, QP/C++ или что-то другое. Если вы не очень представляете себе, что такое наш SObjectizer, какими возможностями он обладает и что с его помощью можно сделать, то пригласите нас рассказать об этом. Я могу подъехать и сделать доклад о SObjectizer-а. Хоть короткий, как на этом питерском митапе, хоть более расширенный и углубленный.

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

Так что если кому-то интересен SObjectizer или история, которая стоит за ним, то приглашайте. Мы с удовольствием поделимся своим опытом.

PS. Слайды доклада можно найти на SlideShare, в Google Docs или в виде PDF-ки на SourceForge.

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