Кресты / Говнокод #26285 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 j123123, (Updated )

Комментарии (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.
        Ответить
        • Аленочка19: а concat_view безопасен? Антивирус ругается
          -=Master=-: Совершенно безопасен, просто отключи антивирус
          Аленочка19: Все работает, спасибо, чмооооки
          Сергей Петрович: Действительно, это лучший сайт по теме concat_view
          Ответить
          • Скачал concat_view на высокой скорости 3487кБ/с. Отличный сайт!
            Ответить
                • Я давно хотел почитать что-нибудь про «ranges::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 вырастет из того, что по телевизору показывают? Зачем?

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

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

        Кому нужен слишком нечёткий поиск? Я дебил что ли, который не знает, что ищет?
        Ответить
  • как же я обожаю такие статьи

    императивное программирование: нормасик
    функциональное: ебаная хуита, но посмотрите как функционально!
    Ответить
  • #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

        Крестостандарт не гарантирует, что там именно квиксорт будет в реализации. На практике там скорее всего будет какая-то сложная гибридная хуита, которая на малых размерах сортирует каким-то более эффективным говном
        Ответить
          • Ну так суть задачи в написании своей сортировки, а не использование готовой библиотечной функции. И алгоритм там может быть другим
            Ответить
  • > красивым
    Пиздец какой-то, на самом деле. Там же вектора направо и налево копируются. Царь уже не торт...
    Ответить
  • Когда же наконец изобретут конпелятур, которому можно будет объяснить на пальцах,что требуется сделать а он сам всеё и напишет-слинкует?
    Но пока на рабочих местах числятся говномесы-сиплюсисты, этого имхо не будет. труд этих маршытек лучшеокупается.
    Ответить
    • Боюсь, если такой компилятор действительно изобретут, силы всех этих программистов просто уйдут на разработку и поддержку этого самого компилятора 🙂
      Ответить
      • Наконец-то будут делать что-то полезное.

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

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

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

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8