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

0

  1. 1
cout<<!0&&0;

Что вернет?
1) 1||0&&0
2) !0&&0
3) Приоритет оператора "!" ?
http://ideone.com/hHdZ1
http://ideone.com/s8Cj0


Сории за толстейший троллинг.

Запостил: LispGovno LispGovno, (Updated )

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

  • >дата: 48 days 20 hours ago
    >дата: 49 days 3 hours ago
    Баян.
    "Ставьте скобки и будет Вам щастье" - учил молодых падаванов старый лиспер.
    Ответить
    • На самом деле не приятно, что они сделали не ожидаемый приоритет оператора вывода. Понятно, что они просто взяли старый оператор сдвига за основу, но это приводит к соответствующим результатам.
      Ответить
      • << навсегда останется в наших сердцах оператором побитового сдвига, а не крестоблядским сдвигом переменных в поток...
        Ответить
        • Но ведь Тарас был всегда прав насчёт уебищности, неочевидности этих сраных символов в сишке и крестах.

          * - указатель или умножение? а может комментарий?
          & - биторAND или ссылка?
          <> - сдвиги? больше меньше? шаблоны? вывод в поток? А может это часть -> ?
          ~ - поди угадай что это деструктор! Хоть в пасцале слишком длинное и уебищное destructor, но любому умеющему читать понятно назначение.
          Могли бы назвать:
          init{
          }
          uninit{
          }

          Ну и конечно чемпион. ++ - сахарок от которого пошло название языка.
          Ответить
          • Это ещё что...
            Вот есть в крестах std::string. И они сотворили такое крестоблядствонепотребство! Это просто аморально. Как они догадались конкатенацию представить в виде оператора сложения? Этож как нужно с математикой не дружить, чтобы придумать такое?
            Свойства оператора сложения:
            *коммутативностью (переместительный закон): a+b == b+a
            *ассоциативностью (сочетательный закон): (a+b)+c == a+(b+c)
            Взяли бы оператор ++ , как в Хаскеле в качестве оператора конкатенации.
            По той же причине нехватки операторов заюзали побитовый сдвиг в качестве оператора вывода с неправильным приоритетом...
            Ответить
              • Хорошо, оператор конкатенации . (точка) из PHP. Надо признать, как бы это странно не звучало, PHP в данном конкретном случае по продуманности обошел кресты.
                Ответить
                • оператор . нельзя перегрузить
                  остаются только % или | или на худой конец &
                  php взял . только лишь затем, чтобы не нагружать этой частой операцией и без того пёстрый листинг из кучи долларов
                  Ответить
                • >PHP в данном конкретном случае по продуманности обошел кресты.
                  В бейсике помимо "+" который считается некошерным и оставлен для быдла за конкатенацию отвечает &.
                  Ответить
                  • В Аде конкатенацию строк и массивов (вернее, массивов и в частности, строк) делает &
                    Ответить
                    • А как выглядит побитовое или всех элементов 2х массивов?
                      Ответить
                      • По умолчанию - кажется, никак.
                        Можно перегрузить оператор.
                        Будет a or b
                        Ответить
            • >Этож как нужно с математикой не дружить, чтобы придумать такое?
              Просто это получило широкое распространение и поддержку в массах.

              :: - это сумасшедшее говно без комментариев. надо бы еще ввести ::: для какой-нибудь малополезной херни. что было a-ля __shit__
              ~ - а это оказывается иногда еще и БитНот.
              итд
              Ответить
              • > :: - это сумасшедшее говно без комментариев
                А мне почему-то всегда нравился такой синтаксис доступа...
                Ответить
                • Что в нем хорошего? В этом есть какая-то тайная логика, очевидность скрытая от остальных?
                  :: - квадрат
                  .: - стрелочка вниз вправо
                  :. - стрелочка вниз влево
                  .:. - стрелочка вверх


                  //раssпаралеливает код
                   ob.do();
                    .:.
                   .....
                  .......
                  Ответить
                  • какая еще стрелочка?
                    :: - скобка
                    :. - открывающая кавычка
                    .: - закрывающая кавычка
                    .:. - хз что, нечто фаллическое
                    Ответить
                      • какая то нездоровая зацикленность на персоне почтенного норвежца
                        покушайте сёмги или, на худой конец, сельди
                        под водочку то
                        четверг - это маленькая пятница
                        стресс надо снимать, а то ведь так недалеко и до санитаров

                        тьфу блять он датчанин ведь!
                        Ответить
                    • > .:. - хз что, нечто фаллическое
                      .|. - битор из хаскеля
                      Ответить
                    • У нас так в Макдоналдсе на кружках, на автобусных остановках и в лифтах пишут.
                      Ответить
                  • шрифт Брайля, нужно только матричный принтер подключить и можно приступать к чтению
                    Ответить
            • Или вот очередное крестоблядство неодназначности:
              #include <iostream>
               
              using namespace std;
               
              class TClass
              {
              public:
                      TClass()
                      {
                              cout<<"Я не sosnuley"<<endl;
                      }
                      TClass(const TClass&)
                      {
                              cout<<"Я не sosnuley 2"<<endl;
                      }
              };
               
              int main() {
                      TClass instance(TClass());
                      return 0;
              }

              http://ideone.com/KhVUB
              http://ideone.com/I03xV
              Ответить
              • да, это классическое крестоблядство
                даже мне не понятно, кому нужна вот такая уебищная forward declaration прямо внутри других функций, вносящая сотни батхёрта в неокрепшие умы
                Ответить
                • В первом случае не было создания объекта.
                  Во втором - просто сработала необязательная, но соответствующая стандарту оптимизация.
                  Ответить
            • > *коммутативностью (переместительный закон): a+b == b+a
              Верно.

              > *ассоциативностью (сочетательный закон): (a+b)+c == a+(b+c)
              А вот этот закон тут ни к чему, его строки как раз не нарушают.
              Ответить
            • А теперь давай еще посмотрим на "аморальных дебилов", которые умножение матриц назвали умножением, ведь оно тоже не коммутативно.

              По теме: если в вашей голове так глубоко засело, что операция сложения должна обладать коммутативностью, то вам стоит пойти преподавать в школу для 7ого класса арифметику или идти писать статьи про сложение в википедию.
              Ответить
            • Это лишь с точки зрения элементарной алгебры, имею право создать собственную, где + есть унарный оператор. Как по мне + и конкатенация вполне логично.
              Ответить
            • Да. Контекст это очень удобно. Упрощает парсеры и чтение кода.
              Апофеоз контекста - регэксы.
              Ответить
              • Да. Лучше каждой сущности свой символ, назовем его "иероглиф". Упрощает изучение языка.
                Ответить
                • Символы усложняют изучение языка. Для этого придумали ключевые слова. Особенно когда эти символы в разных ситуациях ведут себя совершенно по-разному.
                  Почему примитивные типы пишут словами, а не символами?
                  Например:
                  a$ - string
                  a# - float
                  a! - bool
                  a@ - date
                  a% - int
                  Почему так не сделать? И меньше писать, и сразу тип видно.
                  А потому что очень быстро у нас получится пёрл.

                  Посему нужно было оставить только минимальный набор логичных и интуитивно понятных.
                  Ответить
                  • Или бейсик. Там с типами нечто похожее было.
                    Ответить
          • хватит уже элитарную особенность языка выставлять недостатком!

            на деле же - нормальный редактор кода всяко по-разному подсветит тип и имя переменной (снимает все вышеперечисленные неоднозначности), так что проблемы могут быть только с разбором оторванного от контекста куска кода в блокноте
            Ответить
          • >Тарас был всегда прав насчёт уебищности, неочевидности этих сраных символов в сишке и крестах.
            Поэтому крестоблядский компилятор один из самых труднореализуемых компиляторов в мире. Приходится использовать контекстно-зависимую грамматику.
            Типичный крестоблядский пример:
            http://ideone.com/3iHN5
            http://ideone.com/5dSpw
            Ответить
            • >Поэтому крестоблядский компилятор один из самых труднореализуемых компиляторов в мире.

              Трижды плюсую. ++ он один из самых тормозных. По той же причине.
              Ответить
              • Да. Препроцессор - наш друг.
                А с кастами и кучей скобочек какой-нибудь говнопример можно?
                Ответить
                • Я как-то видел код, что try throw catch(TClass1&) catch(const TClass2&) ... использовали для "каста" классов по иерархии и "сброса" const. Но сейчас не найду.
                  Ответить
  • Пример выглядит слегка синтетическим. Никто и не сомневался, что язык самую малость так перегружен атмтой, неоднозначностями и причудливостями.
    Интересно, какой физический смысл у !0? true?
    Ответить
    • Зачем язык перегружен атмтой, неоднозначностями и причудливостями?
      Ответить
      • много язык перегружен атмтой, неоднозначностями и причудливостями
        Ответить
  • Съешь еще этих мягких крестоблядских крестобатхертов:
    cout << 1&&0
    Ответить
    • в любой непонятной ситуации ложись спать ставь скобки
      Ответить
      • Уже давно зарекся писать без скобок. Не я тупану, так коллеги неправильно прочтут.
        Ответить
        • Видимо страусструп мультик про Страну невыученных уроков не видел, книжку не читал, вот и налепил себе в язык "казнить нельзя помиловать" и "полтора крестоблядка землекопа".
          http://ideone.com/ps33b
          Ответить
          • >законы Меткалфа
            Я как человек, помешанный на метапрограммировании прочитал как закон Метакалла
            Ответить
            • Суть:
              Если есть N программистов, то количество пар программистов N(N-1)/2, то есть с ростом числа программистов затраты времени на взаимодействие растут квадратично. Поэтому начиная с какого-то N, рост числа программистов замедляет выполнение проекта.
              Из этого следует закон:
              Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше

              Ну а согласно Паркинсону: если дедлайн через джва дня, то и один успеет.

              Потому нам достаточно нанять одного крестоблядка.
              Ответить
  • Перегрузка операторов - зло 🙂

    Выходит что у "<<" (битовый сдвиг) приоритет выше чем у && (логическое И).

    ГК в топике эквивалентен:
    (cout << !0) && 0;

    Все благодарности - к.о.
    Ответить
    • >Перегрузка операторов - зло 🙂
      Казалось бы как связан приоритет операции и перегрузка операторов?
      Ответить
      • Тот самый битовый сдвиг (перегруженный для std::ostream) воспринимается как самая низкоприоритетная операция, а на самом деле - вот оно что.
        Ответить
    • >Перегрузка операторов - зло 🙂
      1) Иногда это удобно.
      2) В некоторых языках это очень даже хорошо продумано, безопасно и используется для реализации например стандартной библиотеки.
      Ответить
    • Ух ты. Спустя столько дней кто-то всёже смог обнаружить это скрытое послание рядом с моим говнокодом.
      Ответить
  • - Не поспоришь, но знаешь, странно это: Даньку я воспитывал так, чтобы он был готов к жизни, мог бороться и побеждать. А Димошу хоть под стеклянный колпак с сигнализацией ставь. Столько извращенцев вокруг, хоть маску на него одевай. Хочется защитить его от всего мира.
    Ответить

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

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

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


    8