суббота, 14 апреля 2018 г.

[prog.c++] Послесловие к релизу SO-5.5.22 и so_5_extra-1.1.0

Мы сегодня официально выкатили очередной релиз SObjectizer-а. Это SObjectizer-5.5.22 и so_5_extra-1.1.0. Но в данном посте речь пойдет не о том, что вошло в этот релиз (и даже не о том, что не вошло). А о более важных вещах :)

Где-то до версии 5.5.19 у нас у самих был какой-то список хотелок, набор идей, которые хотелось воплотить в SObjectizer-е. А после релиза версии 5.5.19 этот список исчерпался. Плюс к тому, SObjectizer-5 стал гораздо сложнее и несколько объемнее с момента своего первого публичного релиза летом 2013-го. И даже сложнее и объемнее первого релиза ветки 5.5 в октябре 2014-го. Так что добавление какой-то новой фичи в нынешний SObjectizer -- это, зачастую, не такая простая задача, как еще пару лет назад.

В связи с этим последний год наблюдается следующая тенденция: в SObjectizer попадают лишь те фичи, которые кому-то потребовались. Вот столкнулся человек с тем, что в SO-5.5 ему чего-то не хватает, или что работает не так, как хотелось бы. Сказал нам об этом. Мы попробовали сделать. Если получилось, то фича попала в SObjectizer и состоялся очередной релиз.

А вот если никто ничего не сказал, ни о чем не попросил, то ничего и не сделали.

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

Если будут такие инициативы "снизу", то будут появляться новые версии SO-5.5. Если не будет, то обновления SO-5.5 будут выходить только тогда, когда нам самим в SO-5.5 что-нибудь новое понадобится. А с учетом того, сколько уже всякого разного в SObjectizer сделано, сложно прогнозировать когда же у нас самих появится нужна в чем-нибудь новеньком.

В общем, все просто: хотим что-то видеть в SO-5.5? Не стесняемся, говорим об этом :)

С SO-5.6, который не будет оглядываться на 100% совместимость с SO-5.5, пока больше вопросов, чем ответов. С одной стороны, есть соображения о том, что от чего в SO-5.6 имеет смысл отказаться. Так же, скорее всего, при разработке SO-5.6 мы будем отталкиваться уже от C++17, не оглядываясь на C++11 и C++14. Но, с другой стороны, нет понимания о том, откуда брать ресурсы на его разработку. Будем посмотреть, в общем. Никаких прогнозов на данный момент.

вторник, 10 апреля 2018 г.

[prog.flame] Недосказанное про Rust на C++ CoreHard Spring

По мере подготовки к участию в C++ CoreHard Spring 2018 более четко сформировал собственное текущее отношение к языку Rust. Пытался озвучить его на самой конференции в рамках панельной сессии, но там пришлось сильно спешить, поэтому толком это сделать не удалось. Попробую исправить положение в данном посте.

Но прежде чем начать, очень важное замечание. Я имею возможность смотреть на Rust с двух принципиально разных точек зрения. Во-первых, с точки зрения действующего программиста, которому все еще приходится писать код. Во-вторых, с точки зрения менеджера, который имеет возможность выбрать язык для разработки проектов в своей компании. И это заставляет смотреть на язык программирования совершенно по-разному.

воскресенье, 8 апреля 2018 г.

C++ CoreHard Spring 2018: благодарности пост

Вернулся сегодня утром с C++ CoreHard Spring 2018. Впечатления просто "Вау!!!".

20180407-115740-DSCF9500

Это была, наверное, шестая конференция C++ CoreHard, на которой мы присутствовали и пятая, на которой был представлен доклад от нашей небольшой компании. Смело могу сказать, что это была самая крутая и представительная конференция, проведенная сообществом CoreHard. По уровню организации и представленных докладов, как мне показалось, ничуть не уступает прошлогодней C++Russia. Так что организаторы большие молодцы, огромное им спасибо за проделанную работу. И отдельная благодарность за предоставленную возможность поучаствовать в такой серьезной конференции.

Что касается моего участия. Основной мой доклад, как мне кажется, прошел нормально. Бодренько, нигде не сбился и не запнулся. Вроде и зашло хорошо, и вопросы затем толковые и интересные задавали. Слайды презентации можно найти здесь.

Следом еще принял участие в "панельной дискуссии" Игоря Садченко "Rust vs C++". Но там случилось то, что называется "первый блин комом" :( Формат для конференции новый, еще не опробованный, поэтому получилось нечто среднее между обычным обзорным докладом и панельной дискуссией. Сам я не сразу разобрался когда можно сразу вставлять свои пять копеек, когда лучше жевать чем говорить помолчать. В общем, прошло не так гладко, как хотелось бы. Зато отдельное спасибо Игорю за то, что дал стимул проштудировать второе издание Rust book-а. Пока добрался только до 10-й главы. Но нужно собраться с силами и добить эту тему. Как язык Rust меня не торкает совершенно, но для каких-то вещей это может быть гораздо более практичный (удобный, безопасный и т.д.) инструмент, чем C++.

В общем, очень насыщенный и интересный день получился. Планку качества организаторы подняли на очень большую высоту. Если представится возможность поучаствовать в следующей C++ CoreHard, то нужно будет готовится основательнее и тщательнее, чтобы соответствовать.