среда, 12 февраля 2020 г.

[prog.mistery] SObjectizer имеет настолько сложный и непонятный API...

...что люди умудряются делать на нем работающие системы даже не задавая нам никаких вопросов.

С того самого момента, как мы начали рассказывать на публике о SObjectizer-е, постоянно приходится читать вопросы из категории "Почему все так сложно" или "А почему у вас такое плохое соотношение signal-to-noise?". Эти упреки в сложности SObjectizer-а и его API преследуют нас настолько давно и долго, что я сам почти уже поверил, что так оно и есть. И что не смотря на все усилия по упрощению SObjectizer-овского API ничего путного не получается. Вероятно, проблема в ДНК авторов этого API и тут уж ничего не поделать, остается только посыпать голову пеплом, платить и каяться регулярно приносить свои извинения, мол, хотели как лучше, но нешмогли...

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

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

И вот как это понимать? SObjectizer настолько сложен и непонятен, что можно взять и написать на нем работающую систему ни разу не обратившись с вопросами к разработчикам SObjectizer-а?

Больше похоже на то, что кому нужно, тот берет и делает. А кому не нужно, тот звиздит на форумах о непонятном API и о недопустимости использования snake_case нотации, да еще с суффиксом _t в именах типов.

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