Re[30]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 26.09.25 19:01
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>даже сравнение реализаций boost:: и std:: tuple не убеждает в качественности изменений?


Убеждает, как переход от "крайне уродливо" к "умеренно уродливо".
Re[31]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 26.09.25 19:02
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

R>>даже сравнение реализаций boost:: и std:: tuple не убеждает в качественности изменений?


ЕМ>Убеждает, как переход от "крайне уродливо" к "умеренно уродливо".


Ну а ты представляешь, в чём принципиальная разница этих двух реализаций, или наобум написал, лишь бы что-то написать?
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 26.09.2025 19:11 rg45 . Предыдущая версия . Еще …
Отредактировано 26.09.2025 19:03 rg45 . Предыдущая версия .
Re[31]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 27.09.25 00:10
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


ЕМ>У меня, как ни удивительно, есть ряд более-менее общих классов и функций, структура и поведение которых меняются в зависимости от контекста. Сейчас там многое сделано на макросах, а будь в языке или std подходящие средства без трюков, я бы с удовольствием их использовал.



Было бы интересно посмотреть. Уверен, что можно красиво и не слишком сложно переделать без макросов
Маньяк Робокряк колесит по городу
Re[32]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: so5team https://stiffstream.com
Дата: 27.09.25 04:43
Оценка:
Здравствуйте, Marty, Вы писали:

ЕМ>>У меня, как ни удивительно, есть ряд более-менее общих классов и функций, структура и поведение которых меняются в зависимости от контекста. Сейчас там многое сделано на макросах, а будь в языке или std подходящие средства без трюков, я бы с удовольствием их использовал.


M>Было бы интересно посмотреть.


+100500

M>Уверен, что можно красиво и не слишком сложно переделать без макросов


Я вот не уверен, надо бы код глянуть или хотя бы условие задачи узнать.
Но поймал себя на мысли о том, что не помню ни одного раза, когда бы г.Музыченко хоть какие-то примеры кода приводил.
Ни в одном сраче, в котором он высказывал свое недовольство современным C++ никакой конкретики с его стороны не вспоминается.

Так что, думаю, и здесь не дождемся.
Re[32]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 07:28
Оценка:
Здравствуйте, rg45, Вы писали:

R>представляешь, в чём принципиальная разница этих двух реализаций


Если там нет ничего более "принципиального", чем "...", то да.
Re[32]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 07:32
Оценка:
Здравствуйте, Marty, Вы писали:

M>Уверен, что можно красиво и не слишком сложно переделать без макросов


Ну попробуйте, например, это:

#define PlaceKsId(Base,End) {Base##_##End, #End}

struct KsIdDesc {
  unsigned int Id;
  char const * IdName;
};

KsIdDesc const KsIdTable [] = {
  PlaceKsId (KSPROPERTY_AUDIO, LATENCY),
  PlaceKsId (KSPROPERTY_AUDIO, COPY_PROTECTION),
  PlaceKsId (KSPROPERTY_AUDIO, CHANNEL_CONFIG),
...
};

Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Отредактировано 27.09.2025 7:34 Евгений Музыченко . Предыдущая версия .
Re[33]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 07:55
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

R>>представляешь, в чём принципиальная разница этих двух реализаций


ЕМ>Если там нет ничего более "принципиального", чем "...", то да.


Что значт "если"? Ты представляешь, или нет?
--
Справедливость выше закона. А человечность выше справедливости.
Re[33]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:03
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>
ЕМ>#define PlaceKsId(Base,End) {Base##_##End, #End}

ЕМ>struct KsIdDesc {
ЕМ>  unsigned int Id;
ЕМ>  char const * IdName;
ЕМ>};

ЕМ>KsIdDesc const KsIdTable [] = {
ЕМ>  PlaceKsId (KSPROPERTY_AUDIO, LATENCY),
ЕМ>  PlaceKsId (KSPROPERTY_AUDIO, COPY_PROTECTION),
ЕМ>  PlaceKsId (KSPROPERTY_AUDIO, CHANNEL_CONFIG),
ЕМ>...
ЕМ>};
ЕМ>

ЕМ>Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.

Бездарно и говнокодисто. Хотя бы потому, что все свои идентификаторы ты прописываешь вручную. Т.е. корректность твоей реализации полностью висит на человеческом факторе.


ЕМ>Ну попробуйте, например, это:


Удивишься, но пробовали и делали. Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 27.09.2025 8:08 rg45 . Предыдущая версия . Еще …
Отредактировано 27.09.2025 8:08 rg45 . Предыдущая версия .
Отредактировано 27.09.2025 8:06 rg45 . Предыдущая версия .
Re[34]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:17
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Что значт "если"? Ты представляешь, или нет?


Я вижу, что "чистую магию" из boost в C++11 переделали в "частичную" за счет ограниченной поддержки компилятором (variadic templates). Сама же магия никуда не делась, стала лишь менее навороченной.
Re[35]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:20
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


R>>Что значт "если"? Ты представляешь, или нет?


ЕМ>Я вижу, что "чистую магию" из boost в C++11 переделали в "частичную" за счет ограниченной поддержки компилятором (variadic templates). Сама же магия никуда не делась, стала лишь менее навороченной.


Нифига ты не видишь, короче. Но берёшься судить о вещах, до которых тебе как до Луны на четвереньках.

P.S. Ещё и читать не умеешь. Отвечаешь не на тот вопрос, который я задавал.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 27.09.2025 8:24 rg45 . Предыдущая версия .
Re[34]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:25
Оценка:
Здравствуйте, rg45, Вы писали:

R>Хотя бы потому, что все свои идентификаторы ты прописываешь вручную.


Да, ибо язык не утруждает себя предоставлением адекватных для этого средств. А на реализации вроде magic_enums я посмотрел, вздрогнул, и постарался побыстрее о них забыть.

R>корректность твоей реализации полностью висит на человеческом факторе.


Не "корректность", а полнота. Правильность соответствия имен и кодов гарантируется фактом успешной компиляции. Вручную приходится только добавлять новые идентификаторы по мере их включения в SDK.

R>Удивишься, но пробовали и делали.


Я видел, как их делали (и делают до сих пор, ибо ничего радикального нового не появилось). Спасибо, я уж как-нибудь на макросах.

Поищи, какое у меня количество тем, посвящённых компайл-тайм каунтерам.

R>Да я помню. Если станет совсем невмоготу, то буду подобное делать у себя, а пока могу обойтись — увольте.
Re[36]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:27
Оценка:
Здравствуйте, rg45, Вы писали:

R>Отвечаешь не на тот вопрос, который я задавал.


Это может означать, что я неправильно понял вопрос. Что неудивительно, ибо я не вдавался сколько-нибудь глубоко в реализацию ни в boost, ни в std. И там, и там вижу привычное нагромождение характерных приемов, какой смысл копать это дерьмо дальше?
Re[35]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:28
Оценка: :)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Да, ибо язык не утруждает себя предоставлением адекватных для этого средств.


Да у таких танцоров как ты всегда виноват кто угодно, только не они.
--
Справедливость выше закона. А человечность выше справедливости.
Re[37]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:29
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


R>>Отвечаешь не на тот вопрос, который я задавал.


ЕМ>Это может означать, что я неправильно понял вопрос.


В этом тоже я виноват? Так возьми перечитай — вопрос сформулирован предельно ясно и не допускает двойного толкования.
--
Справедливость выше закона. А человечность выше справедливости.
Re[36]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:45
Оценка:
Здравствуйте, rg45, Вы писали:

R>у таких танцоров


Вы хотели сказать — эквилибристов?
Re[38]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:46
Оценка:
Здравствуйте, rg45, Вы писали:

R>вопрос сформулирован предельно ясно и не допускает двойного толкования.


Если нужен предельно лаконичный ответ, то "нет".
Re[37]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:46
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

R>>у таких танцоров


ЕМ>Вы хотели сказать — эквилибристов?


Можно и так сказать. Суть же не меняется.
--
Справедливость выше закона. А человечность выше справедливости.
Re[39]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: rg45 СССР  
Дата: 27.09.25 08:48
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

R>>вопрос сформулирован предельно ясно и не допускает двойного толкования.


ЕМ>Если нужен предельно лаконичный ответ, то "нет".


Ну то есть, ты делаешь категоричные безапелляционные высказывания в области, о которой не имеешь представления. И только по этой причине данная тема никак не успокоится.
--
Справедливость выше закона. А человечность выше справедливости.
Re[38]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:48
Оценка:
Здравствуйте, rg45, Вы писали:

ЕМ>>Вы хотели сказать — эквилибристов?


R>Можно и так сказать. Суть же не меняется.


Да как сказать. Если в качестве площадки для выступления предоставляется только натянутая проволока, то я, пожалуй, мелкими шажками кое-как перейду, а пляшут на ней пускай более другие.
Re[40]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 08:50
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>ты делаешь категоричные безапелляционные высказывания в области, о которой не имеешь представления.


Представление я имею. Вдаваться в тонкости консистенции дерьма, оттенков его цвета и запаха — не имею желания.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.