Кстати, обратите внимание, какие замечательные короткие имена нам предлагают использовать для констант. На пол-экрана. А чо такова, мониторы-то теперь широкие?
Здравствуйте, RedApe, Вы писали:
RA>Здравствуйте, Шахтер, Вы писали:
Ш>>Вылечить можно так. Хакаем заголовок <compare>.
RA>Браво. Жаль, что не все программисты пользуются такими методами как ты.
Против лома нет приёма.
RA>Или можно так RA>
RA> std::strong_ordering cmp = .... ;
RA> if( cmp != 0 ) // ok
RA> {
RA> }
RA> else
RA> {
RA> }
RA> if (cmp < 0) { // ok
RA> } else if (cmp > 0) { // ok
RA> } else { // ok
RA> }
RA>
Здравствуйте, smeeld, Вы писали:
S>Здравствуйте, T4r4sB, Вы писали:
TB>>В ++03 можно. В ++20 нет.
S>Почему это?
Килограммы говна типа std::move, std::forward, std::trivially_constructible, без которых ты не напишешь даже сраный вектор без UB который бы ПРАВИЛЬНО учитывал все возможные случаи T
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
TB>Килограммы говна типа std::move, std::forward, std::trivially_constructible, без которых ты не напишешь даже сраный вектор без UB который бы ПРАВИЛЬНО учитывал все возможные случаи T
И как же в крупных проектах на Си и Си c классами обходятся без этих понтов и заклинаний aka std::move, std::swap и прочих trivially_constructable? И при этом, там вся move семантика объектов представлена в полный рост.
Здравствуйте, smeeld, Вы писали:
S>И как же в крупных проектах на Си и Си c классами обходятся без этих понтов и заклинаний aka std::move, std::swap и прочих trivially_constructable? И при этом, там вся move семантика объектов представлена в полный рост.
Крупных проектах на Си? Не, я к вам не пойду.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, smeeld, Вы писали:
S>И как же в крупных проектах на Си и Си c классами обходятся без этих понтов и заклинаний aka std::move, std::swap и прочих trivially_constructable?
С большим трудом. С опасностью подорваться на говнокоде на каждом шагу. С древней кодобазой, на 80% состоящей из велосипедов в которых уже никто не разбирается.
Здравствуйте, so5team, Вы писали:
S>С большим трудом. С опасностью подорваться на говнокоде на каждом шагу.
Пока вот это всё справедливо для распоследних C++, особенно про большой труд и опасность подорваться, только подорваться не на говнокоде, а просто на C++20 коде.
S> С древней кодобазой, на 80% состоящей из велосипедов в которых уже никто не разбирается.
99% всех промышленных программных систем, обсуживающих мир, представлено именно этим кодом. А всякие хеллоуворлды даром никому не нужны, на каком бы распрекрасном C++ они не были написаны.
Здравствуйте, smeeld, Вы писали:
S>>С большим трудом. С опасностью подорваться на говнокоде на каждом шагу.
S>Пока вот это всё справедливо для распоследних C++, особенно про большой труд и опасность подорваться,
Не знаю. На сопровождение пока разработок на распоследних C++ не попадало. А вот то, что приходится видеть в чужом легаси на чистом C или "Си с классами" -- это тихий ужас.
Вы вот, помнится, свой код когда-то показывали. Из той же категории.
Так что позвольте усомнится.
S>только подорваться не на говнокоде, а просто на C++20 коде.
Видите ли какое дело: C++20 рано или поздно будет освоен. Даже старперами вроде меня. Не говоря уже о молодежи, которая может начинать прямо с C++17. И количество подрывов будет сокращаться с каждым месяцем опыта с новым C++.
А вот древний говнокод производства зацикленных на старом добром "Си с классами" персонажей, вроде вас, так и останется говнокодом.
S>99% всех промышленных программных систем, обсуживающих мир, представлено именно этим кодом. А всякие хеллоуворлды даром никому не нужны, на каком бы распрекрасном C++ они не были написаны.
Пользователям Envoy это расскажите, к примеру. А то они так страдают от того, что не выбрали многократно помянутый вами Apache TrafficServer, что прямо спать не могут.
Здравствуйте, so5team, Вы писали:
S>Видите ли какое дело: C++20 рано или поздно будет освоен. Не говоря уже о молодежи, которая может начинать прямо с C++17. И количество подрывов будет сокращаться с каждым месяцем опыта с новым C++.
Молодёжь принудительно подсаживают на Go, python, rust, JS и прочую хипстоту. Зачем городить что-то на C++, когда можно модно и молодёжно сваять на JS+Electron? Так рассуждают везде, кроме серверов, железок и тырпрайза. С С++ играют только задроты, которым делать нечего и которых на работу не берут. С++ всё больше и с ускорением скатывается к туда же, где прозябает Haskel. На серверах и железках доминирует чистый Cи, и будет, пока линуксы и прочие оракелы на Cи написаны, а замены им не видно. А в тырпрайзе C++ и не было никогда, там java балом правит.
Здравствуйте, so5team, Вы писали:
S>Пользователям Envoy это расскажите, к примеру. А то они так страдают от того, что не выбрали многократно помянутый вами Apache TrafficServer, что прямо спать не могут.
Что это? Кто это? А, очередной хеллоуворлд с гатхаба. Неинтересно (уходит писать плагин для nginx)
Здравствуйте, smeeld, Вы писали:
S>>Пользователям Envoy это расскажите, к примеру. А то они так страдают от того, что не выбрали многократно помянутый вами Apache TrafficServer, что прямо спать не могут. S>Что это? Кто это? А, очередной хеллоуворлд с гатхаба. Неинтересно (уходит писать плагин для nginx)
LOL.
Envoy используется для коммутации трафика между сервисами, во многих компаниях из Top500.
Здравствуйте, Cyberax, Вы писали:
C>Envoy используется для коммутации трафика между сервисами, во многих компаниях из Top500.
Топ500 использует еще 100500 всякой хрени в самых разных местах. Если им это надо — это не значит, что остальной части населения, которой >99.9% нужно вообще об этом знать. Какие выводы можно сделать из того что они используют? Да никаких.
Здравствуйте, smeeld, Вы писали:
S>>Пользователям Envoy это расскажите, к примеру. А то они так страдают от того, что не выбрали многократно помянутый вами Apache TrafficServer, что прямо спать не могут.
S>Что это? Кто это? А, очередной хеллоуворлд с гатхаба.
Если исходить из того унылого кода, который вы приводили в пример, то возникает вполне обоснованный вопрос: а у вас-то квалификации хватает, чтобы отличить хеллоуворлд от не хеллоуворда? Чем докажите?
Здравствуйте, Mystic Artifact, Вы писали:
MA> Топ500 использует еще 100500 всякой хрени в самых разных местах. Если им это надо — это не значит, что остальной части населения, которой >99.9% нужно вообще об этом знать. Какие выводы можно сделать из того что они используют? Да никаких.
Суть не в Топ500, а в том, что sleeld здесь регулярно высказывает свое мнение о том, что фичи современного C++ не нужны для разработки производительного кода. И в пример любит приводить древний Apache TrafficServer (бывший Yahoo TrafficServer, который получился из бывшего Inktomi Traffic Server, который начали разрабатывать хз когда), где типа нет следов ни STL, ни современного C++.
Envoy же является примером производительного решения, которое написано как раз на современном C++.
Ретроградов, типа вас с smeeld, это вряд ли в чем-то убедит. Но может быть кого-то заставит перестать брать слова smeeld на веру.
Здравствуйте, so5team, Вы писали:
S>а у вас-то квалификации хватает, чтобы отличить хеллоуворлд от не хеллоуворда?
Для меня критерий прост: linux юзается везде-это не говнокод, оракел юзается везде-это не говнокод, nginx юзается везде-это не говнокод. Тот примерчик, что Вы привели, юзает не индустрия, а полтора инвалида-это говнокод. Все остальные рассуждения про "красивость кода", "безопасность кода", "читаемость кода"-это рассуждения задротов, которым делать нечего. Код не может быть ни плохим, ни хорошим, он может быть юзаемым, как оракел, а может быть неюзаемым как Ваш пример. Неюзаемый код-это говнокод. Юзаемый код-это то, что выбрала индустрия, неюзаемый код-это код который выбрали полтора задрота, согласно своим личным взглядам и предпочтениям.
>Чем докажите?
Здравствуйте, so5team, Вы писали:
S>Envoy же является примером производительного решения, которое написано как раз на современном C++.
Теперь, ясно. Ну,я в этом и не сомневался.
S>Ретроградов, типа вас с smeeld, это вряд ли в чем-то убедит. Но может быть кого-то заставит перестать брать слова smeeld на веру.
Я вообще-то совсем не ретроград и я вижу со стороны как код преображается, и в целом, наверное в лучшую сторону. Не могу сказать, что прям вах-вах, но плохого не вижу.
То, что я выразил согласие выше — означает только лишь согласие, что и старые методы отлично работают без новых перделок. Но, применения чистого C в прикладных задачах — я лично — не вижу. Разумеется, он вполне подходит для ядра, ведь все структуры данных один хер самописные, а шаблонная магия там не упала, ведь обеспечить ABI — надо, чего в прикладухе нет, да и в среднем по палате у C++-ников (как и у других) есть крайне приблизительное понимание этого вопроса.