1. C++ / Говнокод #26285

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    // https://godbolt.org/z/ZsXDti
    
    #include <boost/hana.hpp>
    #include <range/v3/view.hpp>
    #include <range/v3/experimental/view/shared.hpp>
    #include <iostream>
    
    using namespace ranges::views;
    using std::vector, boost::hana::_, ranges::concat_view, ranges::experimental::views::shared;
    
    
    vector<double> sort(vector<double> vec) {
      if(size(vec) <= 1) {
        return vec;
      } else {
        auto pivot = vec[size(vec) / 2];
        
        return concat_view(
          sort(vec | filter(_ < pivot)),
          vec | filter(_ == pivot),
          sort(vec | filter(_ > pivot))
        );
      }
    }
    
    int main() {
      std::cerr << (sort({30, 20, 50, 40}) | shared | all) << std::endl;
    }

    https://habr.com/ru/post/482318/#comment_21072122

    Царь набрасывает на хабр какое-то крестобустоговно, называя его красивым.

    Запостил: j123123, 28 Декабря 2019

    Комментарии (89) RSS

    • https://habr.com/ru/post/482318/#comment_21072274
      > Дизайн решений в С++ обусловлен потом и кровью десятков лет передовой разработки.

      Дизайн решений в С++ обусловлен... знаете чемо он НА САМОМ ДЕЛЕ обусловлен?
      Стремлением сохранить обратную недосовместимость с сишечкой и прошлыми версиями говностандарта, и наложить сверху еще больше костылей-расширителей т.е. новых говностандартов
      Ответить
    • > std::cerr << (sort({30, 20, 50, 40}) | shared | all) << std::endl;


      но ведь и правда крсиво

      на джаве такое займет 30030 строчек
      Ответить
      • Еще посмотри на то, как красив асмовыхлоп этого дерьма, сколько там хуйни всякой и сколько оно компилируется
        Ответить
    • Загуглил «ranges::experimental::views::shared», получил в ответ 17 страниц, первая из которых — этот пост. Какой багор )))
      Ответить
      • Вот кто-то будет гуглить всякое крестоговно и сразу сюда попадет, отлично же!
        Ответить
      • Если загуглить «concat_view» - первая ссылка тоже сюда.
        Видимо roman-kashitsyn, раздосадованный говнистостью крестов, подкрутил алгоритмы гугла
        Ответить
        • Давайте поможем алгоритмам «Гугла»!

          Вы ищите, что такое concat_view? Тогда вы попали по адресу: в этой статье мы наглядно и с примерами покажем, как работает concat_view. Всем известно, что в последнее время крайнюю популярность стал набирать concat_view. И это неспроста: concat_view — это современное, модное и стильное решение! Многие задаются вопросом: как использовать concat_view? Ответ прост, и в этой статье мы непременно расскажем о практиках применения concat_view. Обычно, когда речь заходит о concat_view, его упоминают исключительно в негативном, уничижительном ключе. Но только не в нашей статье: мы популярно объясним, почему всем непременно стоит хотя бы попробовать concat_view. Зачем использовать concat_view — это на самом деле трудный вопрос, но ответ на него очевиден. Как использовать concat_view? Для этого необходимо сделать всего несколько шагов, и первый вы уже сделали — прочитали нашу статью о практиках использования concat_view!

          С уважением, ceoLLlHblu_nemyx.
          Ответить
          • Какое SEO )))
            Ответить
          • Аленочка19: а concat_view безопасен? Антивирус ругается
            -=Master=-: Совершенно безопасен, просто отключи антивирус
            Аленочка19: Все работает, спасибо, чмооооки
            Сергей Петрович: Действительно, это лучший сайт по теме concat_view
            Ответить
            • Скачал concat_view на высокой скорости 3487кБ/с. Отличный сайт!
              Ответить
              • https://i.imgur.com/KDR8GeC.png
                Какой багор )))
                Ответить
                • Именно поэтому я за «concat_view»!
                  Ответить
                • Уникальный контент ценится, да.
                  Ответить
                  • Я давно хотел почитать что-нибудь про «ranges::concat_view». Хорошо, что на «Говнокоде» удалось найти. Всем спасибо!
                    Ответить
                    • Писать лучше в новых постах, это быстрее попадёт в поисковики.
                      Ответить
                    • Посмотри здесь https://www.php.net/manual/ru/concat_view.php
                      Ответить
                      • А почему отвечает «404 Not Found nginx/1.14.2»?
                        Ответить
                        • Забыли проплатить лицензию.
                          Ответить
                          • А сколько стоит лицензия на concat_view и где её можно приобрести?
                            Ответить
                            • А пиратская сборка concat_view уже не работает?
                              Ответить
                              • скачать concat_view (3424k) на скорости 123k/sec.

                                Купите премиум аккакунт, чтобы увеличить скрость (купить)
                                Ответить
                        • Хорошо подмечено! Потому что в "PHP" нет никакого "concat_view". Именно поэтому я за "PHP".
                          Ответить
                          • Эта статья расскажет вам, как пользоваться concat_view.

                            Наверняка вы уже сышали про concat_view от друзей, и задавались вопросом: что же такое concat_view?

                            Не волнуйтесь, в concat_view нет ничего сложного. Поле прочтения этой статьи вы будете знать все про concat_view.

                            Для начала давайте разберемся, что же такое concat_view? Может быть это программа?

                            Дело в том, что concat_view

                            [далее >>]
                            Ответить
                • Почему на первом месте какой-то посторонний сайт? Поднажмём!
                  Ответить
          • http://www.gatchina.biz/generator

            Верность concat_view – вот высшая присяга. concat_view – я бы подписался на рассылку. Не подскажете, где это можно сделать? Как-то сидели мы с друзьями, пили пиво, обсуждали concat_view. В результате посиделок решили, что concat_view на земле становится все меньше и меньше, на всех не хватит. К кому мне себя отнести? Больше всего мне хотелось бы отнести себя к друзьям concat_view. Но другом concat_view я, пожалуй, никогда не был и даже не был приятелем. Всё имеет свою цену, даже concat_view. Прыжки с шестом доказывают, что без хорошей поддержки concat_view высоко не прыгнешь. Хотелось бы рассказать о журналистке, которой внезапно стало противно от того, что ей приходилось заниматься на работе concat_view. Результатом стал постинг в ЖЖ, описывающий душевные метания девушки. Уже на следующий день она была показательно уволена. Вот такой вот привет от concat_view. «Если вижу concat_view – не могу устоять, сам не замечаю, как я начинаю петь» – признается юрист Николай Землинский. О как, товарищи, бывает! Абсолютно белого (или абсолютно чёрного) concat_view не бывает. А вот «weiv_tacnoc» – это concat_view наоборот.
            Ответить
            • И вдруг в одном московском ресторане появился точно такой же зал ресторана. Коктейль-холл. Ребята написали новый concat_view. Правда, название изменилось на «Переписку по поводу concat_view», но суть осталась прежней – ну, интересно видеть разные языки. Вышел в зал – а перед всем этим шныряют лучшие специалисты по обсуждению concat_view в мире. Сунутся друг к другу, а там – сплошной хохот. Хорошо еще, до сих пор все понимают английский… А эти китайцы уже особо умилились, когда я им вдруг объяснил, что concat_viev. Анскильный хрусталь. Полезли на меня за разъяснениями… Но со мной ведь лучше не связываться. Я им на слово поверил. А знаешь почему? Заедушный вид и самодовольный вид. А знаешь, почему? Ты сама на них посмотри. Вот это зеркало – помнишь, ты мне его показывала? Крестобустоговново – все смотрят в него. А сзади к его свечению прилипли два хвостатых клопа. Они смотрят и жрут. То ли дело concat_view! Смех да и только. И дерут они за него деньгами… А что такое concat_view?
              Ответить
            • Каждая такая беседа для меня – маленький праздник. Впрочем, недоброжелатели есть у всех. Петух – это каток. Сначала ледяной – потом асфальтовый. Петух касается абсолютно всех, потому как личный багаж каждого из нас постоянно увеличивается и мы эволюционируем. Ученые наконец-то выяснили, что подталкивает дам к интимным отношениям. Это – Петух. И это тоже – правда. Петух... Слова можно по-разному понимать. «Петух» – слово безусловно красивое. Но в некоторых кругах за него могут и по физиономии съездить, не разобравшись. А представляете, если кто-нибудь узнает, что вы посещаете наши беседы. Да еще на такие темы... Не бойтесь, я никому не скажу. У нас здесь даже чиновники высокого ранга бывают. Двум Богам поклоняясь в снах, имена твердить неустанно: Бог Неверия Петух и жена его Петухсса. Ёлы-палы, чего опять на стихи потянуло. Светская беседа – на то и светская, чтобы говорить о Петух. А вот «Хутеп» – это Петух наоборот.
              Ответить
              • Ученые наконец-то выяснили, что подталкивает дам к интимным отношениям. Это – Петух. Он без всяких видимых усилий проникает под череп, минует все его чувства, и просто побеждает мужское естество. Так можно разрушить всю культуру! И не только культуру… Но и саму основу жизни… Петух – разрушитель стабильности. Петух – покровитель бюрократии и олигархов! Петух – специалист по мороженому. Петух – защитник сил Вселенной. Петух – символ своей женщины и семьи. Петух – символ свободы. Петух – идеал человечности. Петух – герой дня, символ борьбы с зимой. Петух – основа успеха! Но все бы хорошо, если бы не один маленький пункт. Петух, к которому стремится петушонок, это вовсе не тот Петух, которого ты себе представляешь. Петух, к которому стремится петушонок, это совсем другой Петух. И цель осуществления воплощенного в нем идеала куда более высока и благородна. И ты будешь немедленно вознагражден за свои усилия!
                Ответить
              • Вроде был фараон по имени Аменхутеп. Или как-то похоже...
                Ответить
                • их было дофига, среди них был крупный реформатор, перекроивший под себя всю религию -- Эхнатон (от природы Аменхотеп)
                  Ответить
                  • А ты случайно не читал фантастическое произведение, в котором был персонаж Неменхотеп?
                    Ответить
          • Чтение concat_view не особо отличается от чтения обычных книг: каждый человек получает пакет новых содержаний, и там сохраняются тексты, в которые ему не хочется возвращаться. Может быть, он их просто перепутал? Но на самом деле это совсем не так. Главная причина, почему мы так часто используем concat_view — это сопереживание. Для нас concat_view значит в точности то же самое, что для вас Wi-Fi: в каждой из этих частей есть свой доступ, какой-то жизненно важный алгоритм, значение которого зависит от вашего ментального присутствия. Кажется, это ясно каждому. Но вы никак не учитываете одну чрезвычайно важную вещь, которую об этом лучше не забывать. Conсat_view интегрирует нашу индивидуальную память в целостную социальную коллекцию. Если вы захотите, он может превратить вас из человека во что-то похожее. Что это: история, метафора или просто выдуманное представление? Некоторые интерпретаторы concat_view утверждают, что это и то и другое, но в этом случае вы попадаете в середину огромного круга сказок о человеческой личности. Как ни парадоксально звучит, concat_view играет в жизни человека, кроме того, роль постоянного порождающего механизма.
            Ответить
          • concat_view вырастет из крестоговна? Зачем? concat_view вырастет, ну, например, из STL? concat_view вырастет из BOOST? concat_view вырастет из Loki? Зачем? Мы хотим сначала понять, что будет, когда будет выращен concat_view. Тогда мы и будем знать цену. concat_view вырастет из этого случая? concat_view вырастет из этого симбиотического процесса? concat_view вырастет из сиккотика и собачьего шашлыка? concat_view вырастет из плагиата и конспирологии? concat_view вырастет из того, что по телевизору показывают? Зачем?

            Ассистенты зомбирующего повторяют после каждого раза "Зачем? Зачем?".

            И некоторые так и повторяют до тех пор, пока не начинают орать во всю глотку, размахивая руками и потряхивая голыми головами. Они словно бы молятся о том, чтобы какая-то божья сила или сила искусства дала им ответ, и они немедленно забыли бы все это как страшный сон. Связные психопаты - самые сильные гипнотизеры. Обычно они даже и не подозревают, что их гипнотизируют. Связные психи - также крутые колдуны. Но зомбирование - всегда двухслойное и одномерное, а их тексты можно читать с такой скоростью, что они никогда не запомнят своей собственной речи. Связные психопаты - все такие. Но они вовсе не обязательно являются сумасшедшими. Они просто обладают самым толстым слоем письменности. А зомбирование - совсем другая волна. Чтобы зомбировать и получить ответ, нужно совершить как минимум два действия: задуматься о будущем, немного покопаться в своих детях, а потом вызвать в себе темные силы и хорошенько разозлиться, потому что позже вспоминать об этом будет только мерзко. Подводя итог сказанному, можно сказать - зомбирование - это наука о том, как уметь докопаться до мысли тех, кого зомбируешь, и одновременно продолжать удерживать эту мысль в своей голове, несмотря на полное отсутствие сознания в этом процессе. Благодаря этому достигается невероятная быстрота.
            Ответить
        • А в «Яндексе» теперь все слова на языках программирования приходится вводить в кавычках, потому что какие-то мудаки недавно сменили алгоритмы, и без кавычек он теперь производит слишком нечёткий поиск. И оператор «восклицательный знак» убрали, причём не только из «Яндекса».

          Кому нужен слишком нечёткий поиск? Я дебил что ли, который не знает, что ищет?
          Ответить
        • Приведи реальный пример, когда тебе в работе понадобился «concat_view».
          Ответить
    • наши!!
      http://sarb.wot.pw/forum/18752/52447
      Ответить
    • как же я обожаю такие статьи

      императивное программирование: нормасик
      функциональное: ебаная хуита, но посмотрите как функционально!
      Ответить
    • #include <iostream>
      #include <vector>
      
      using namespace std;
      
      vector<double> filter_ls(vector<double> vec, double a)
      {
        for (auto it = vec.begin(); it != vec.end();)
        {
          if ((*it) >= a)
            it = vec.erase(it);
          else
            ++it;
        }
        return vec;
      }
      
      vector<double> filter_eq(vector<double> vec, double a)
      {
        for (auto it = vec.begin(); it != vec.end();)
        {
          if ((*it) != a)
            it = vec.erase(it);
          else
            ++it;
        }
        return vec;
      }
      
      vector<double> filter_gr(vector<double> vec, double a)
      {
        for (auto it = vec.begin(); it != vec.end();)
        {
          if ((*it) <= a)
            it = vec.erase(it);
          else
            ++it;
        }
        return vec;
      }
      
      vector<double> sort(vector<double> vec) {
        if(size(vec) <= 1) {
          return vec;
        } else {
          auto pivot = vec[size(vec) / 2];
      
          auto tmp1 = sort(filter_ls(vec, pivot));
          auto tmp2 = filter_eq(vec, pivot);
          auto tmp3 = sort(filter_gr(vec, pivot));
          
          move(
             tmp3.begin(),
             tmp3.end(),
             back_inserter(tmp2)
          );
      
          move(
            tmp2.begin(),
            tmp2.end(),
            back_inserter(tmp1)
          );
          return tmp1;
        }
      }
      
      int main() {
        vector <double> a = {30, 20, 50, 40};
        a = sort(a);
        for (auto it = a.cbegin(); it != a.cend(); it++)
        {
          cout << *it << ' ';
        }
      }


      Переписал на крестоговно без «BOOST» и «range», проверьте
      Ответить
      • std::sort(a.begin(), a.end());

        Переписал на древние кресты, поднял пирфоманс, проверь.
        Ответить
        • > std::sort

          Крестостандарт не гарантирует, что там именно квиксорт будет в реализации. На практике там скорее всего будет какая-то сложная гибридная хуита, которая на малых размерах сортирует каким-то более эффективным говном
          Ответить
          • Вопросы пирфоманса сортировок тут обсуждали https://govnokod.ru/25307#comment452782
            Битонная вроде б самая быстрая для размера 8 элементов на случайных данных
            Ответить
          • И что тебя здесь не устраивает?
            Ответить
            • Ну так суть задачи в написании своей сортировки, а не использование готовой библиотечной функции. И алгоритм там может быть другим
              Ответить
      • > auto pivot
        Автопивот.
        Ответить
    • > красивым
      Пиздец какой-то, на самом деле. Там же вектора направо и налево копируются. Царь уже не торт...
      Ответить
      • давно
        Ответить
      • Ну так это Царь показывал пример, что на крестах можно как на Scala писать в функциональном стиле, забив на пирфоманс.
        Ответить
    • Когда же наконец изобретут конпелятур, которому можно будет объяснить на пальцах,что требуется сделать а он сам всеё и напишет-слинкует?
      Но пока на рабочих местах числятся говномесы-сиплюсисты, этого имхо не будет. труд этих маршытек лучшеокупается.
      Ответить
      • Боюсь, если такой компилятор действительно изобретут, силы всех этих программистов просто уйдут на разработку и поддержку этого самого компилятора :-)
        Ответить
        • Наконец-то будут делать что-то полезное.

          Иначе какие это программисты, если дублируют код, одно и то же пишут каждый раз вместо того, чтобы реализовать компилятор один раз.
          Ответить
          • Надеюсь, «ranges::concat_view» там будет из коробки.
            Ответить
          • Не отнимайте у простого программиста возможность изобрести своё собственное колесо :-)

            Видит небо, нет ничего приятнее, чем написать что-то просто ради того, чтобы себе и окружающим потом говорить «я знаю, как такое написать».

            А когда своё трёхугольное колесо уже вертится, можно уже обратиться к нормальному, общеизвестному, протестированному, документированному решению.
            Ответить
            • >Не отнимайте у простого программиста возможность изобрести своё собственное колесо :-)
              Колеса изобретаются "естественным образом" так часто, что не думаю, что им нужно дополнительно поощрение.
              С другой стороны, кто убережет проект от инженерных амбиций разработчика, если не его более сознательные коллеги?
              Ответить
              • Я согласен с вами, правда, я имел в виду «колеса» с точки зрения более масштабных решений, типа своей библиотеки поддержки юникода, своей библиотеки коллекций, своего рендера, своего скриптового языка, своего установщика и т. п.

                Конечно, нужно следить за тем, чтобы не было таких «изобретений» в продакшен проектах, но я всё-таки имел в виду свои, собственные разработки :-)
                Ответить
    • Хуже всего приходится твоей липчавой от спермы попке, в которую ты запросто можешь спрятать банку сгущенки.
      Ответить
    • Хуже всего приходится твоей липчавой от спермы попке, в которую ты запросто можешь спрятать банку сгущенки.
      Ответить
    • Хуже всего приходится твоей липчавой от спермы попке, в которую ты запросто можешь спрятать банку сгущенки.
      Ответить
    • Хуже всего приходится твоей липчавой от спермы попке, в которую ты запросто можешь спрятать банку сгущенки.
      Ответить
    • Хуже всего приходится твоей липчавой от спермы попке, в которую ты запросто можешь спрятать банку сгущенки.
      Ответить
    • Из-за тебя репутация сайта пострадала. См. что пишут на Лоре:
      "... больной на голову шизофреник, который постоянно спамит и оскорбляет участников. Мда. Говнокож уже не тот. Раньше хоть пообщаться было можно, сейчас же все участники перешли в режим рид-онли, всё из-за этого утырка"
      Ответить
    • Какое говно )
      Ответить
    • какое говно )))))))))))
      Ответить
    • ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёё ёёёёёёёёёё
      Ответить
      • Это - бессмысленный спам, или живая реакция, вызванная информацией, представленной в топике?
        Ответить
    • 5435435
      Ответить
    • 5435435
      Ответить
    • ;
      Ответить
    • 6546
      Ответить

    Добавить комментарий