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

    +3

    1. 1
    2. 2
    cout << "\xFFsome_message" << endl;       // OK
    cout << "\xFFanother_message" << endl;    // std::shooted_foot_exception

    Just another perl hacker shooted foot.

    Запостил: gost, 08 Октября 2017

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

    • Хайлайтер Ideone с ухмылочкой потирает руки байты: https://ideone.com/zsgGiJ
      Ответить
      • Военная хитрость: хайлайтер разбирает код совсем не так, как компилятор, чтобы враг, не имеющий доступа к компилятору, ничего не понял.
        Ответить
        • А мне каежтся что для подсветки хватит лексера, а он (в идеально мире) строится по какой-нить BNF и должен быть везде одинаков.

          Ну конечно кроме С++: там никакие земные законы не работают.
          Ответить
          • # никакие земные законы не работают

            Открою страшную тайну: внеземные там тоже не работают
            Ответить
          • А в Перле какие-нибудь законы работают?
            Ответить
            • Они там ни к чему
              Ответить
            • Перл, будучи языком лингвистов, не одобряет вашу прескриптивистскую ересь. Язык работает так, как на нём пишут, а не так, как написано в Розен стандарте.
              Ответить
            • В преле есть один закон: "существует более десяти способов сделать то, что ты хочешь"
              Ответить
              • # более десяти способов

                Вообще, на любом языке программирования можно написать решение одно и той же задачи бесконечным числом способов
                Ответить
                • Позвольте не согласиться, в реальности у нас объём памяти, а, следовательно, и набор всех возможных программ, ограничены.
                  Ответить
                  • Зато времени более или менее много, так что пишем программу один раз, и добавляем в конце в милисекундах
                    sleep(1), sleep(2), ...
                    Получится очень много разных способов.
                    Ответить
                    • Очень много, но не бесконечное количество, да.
                      Доказательство с использованием кобенного анализа:
                      пуст максемпльная информацию памяти 1gb в 1б-1мв нам понабится послать конпелятору от 1б-1кв 
                      1024*1024*1024 баит вореций информакции пруграммы, чтоб конпелировать ище раз 1мв в 1кв потом
                       1кв в 1байт получется 1 формулы что моксемальное каличество пруграммы это 2^8*1024*1024*1024
                       это 2 в 8589934592 это колво зн моксемальное каличество рузлчиных пргурамм можно послать 
                      конпелятору если 2gb тогда два в 17179869184 зн даже если 1тб тогда 8796093022208 зн можно 
                      sleep(1) скльеко угодно но только 2 в 8796093022208 моксемальное каличество но не бесканечность
                      Ответить
                      • ЗЫ,
                        езли 1мб зн. тогда 17976931348623159077293051907890247336179769789423065727343008115773267580550096313270
                        84773224075360211201138798713933576587897688144166224928474306394741243777678934248654
                        85276302219601246094119453082952085005768838150682342462881473913110540827237163350510
                        684586298239947245938479716304835356329624224137216 вореантнов всего.
                        Ответить
                      • Кстати, гугл транслейт переводит кобенный анализ как coarse analysis.
                        Ответить
                      • HACTEHbKA, ты ли это?
                        Ответить
          • ну вон QtCreator используют clang code model. В итоге он корректно подсвечивает весь стандартный с++ но совершенно не понимает Qt-шные примочки, плюс работает коматозно медленно. Итого его проще/лучше выключать
            Ответить
    • > shooted
      finded
      writed
      readed
      Ответить
      • Пора уже этот язык унифицировать. Оставить набор исключений англичанам, а всему миру перейти с дюймов на сантиметры с shot на shooted.
        Ответить
        • nice shot!
          Ответить
        • Фаулз в "Аристосе" это предлагал.
          Ответить
          • Точно! Всё время забываю название этого произведения.

            Достаточно упорядочить, то есть привести в соответствие с общими правилами, предложение «I saw the men working hard», которое должно было бы быть записано «I seed the mans working hardly», чтобы осознать, какие тут расставлены ловушки.

            Но там мало предложений. Я в какой-то книжке видел больше идей.
            Ответить
            • Это довольно скользкий путь. После выкидывания неочевидного формообразования надо бы неочевидную орфографию повыкидывать. Дифтонги выкинуть нахуй из языка, например.
              Ответить
              • Ещё можно воскресить язык йола:
                https://ru.wikipedia.org/wiki/Йола_(язык)

                Он не подвергался сдвигу гласных, поэтому reader в нём читается как «редер», а не как «ридер».
                Ответить
                • Я думаю, если мы так сурово ломаем совместимость, можно сразу херачить язык с нуля.

                  Я вот за агглютинативность, например.
                  Ответить
                  • Предлагаю язык с польской нотацией.
                    Ответить
                    • Нахер фиксированный порядок, надо просто суффиксы, обозначающие члены предложения.

                      Зальём все проблемы языка метаданными в каждом слове.
                      Ответить
                    • Кстати, про конкретные языки.

                      Когда у нас стали людей, выпускающих телепередачи в Интернете называть так же, как и тех, кто ведёт видеодневник?

                      Каждый уже стал "видеоблогером" или просто "блогером". Ладно одну "г" при переводе потеряли (надо было либо "блоггер" оставить, либо доперевести с русским суффиксом до "бложник").
                      Я считаю, что в блоге должно быть что-то сопоставимое с автобиографией. "Сегодня я поел", "вчера у меня появилась новая собака". А, например, +100500 или TiХ - это не автобиографии, а обычные передачи, и у них есть авторы и ведущие, а не блогеры.

                      Почему тогда КВН не называют блогом Маслякова, а Малахова с Малышевой - хэлфи-бьюти-блогерами?
                      Ответить
                      • https://thequestion.ru/questions/119730/pochemu-na-dveryakh-vagonov-moskovskogo-metropolitena-napisano-do-not-lean-on-door-bez-opredelyonnogo-artiklya-pered-door
                        И англоговорящие творят всё, что хотят.
                        Ответить
                      • А ты сам ведёшь паутинобревно?
                        Ответить
                        • Веду, но в текстово-картиночном виде и нерегулярно (кто-то уже несколько раз подумал, что я сдох, а я всего лишь пишу, когда есть мысли).
                          Ответить
                      • Не слышал, чтобы ведущих +100500 или ТиХ называли видеоблогерами. Вот усачева называют почему-то, хотя у него там тоже передачи.
                        Ответить
                    • И со статической типизацией.
                      Ответить
                      • > статической
                        А как она в устной речи работает? Сначала надо сказать всё резиновой уточке, если она смогла однозначно интерпретировать твою фразу, она повторяет её собеседнику?
                        Ответить
                        • Местоимение ты глагол идти наречие напитон.
                          Ответить
                          • Нужно членами предложения типизировать, а не частями речи.
                            Заебёсси перегружать идти(), чтобы работало и для "идти ты напитон" и для "идти ты жопа".
                            идти(местоимение, наречие)
                            идти(местоимение, существительное)
                            Ответить
                          • Публичное финальное предложение (местоимение ты): ты.идти(новый напитон).
                            Ответить
                    • >>польской нотацией
                      хуй ты идти
                      Ответить
                      • Логичнее, что операция -- глагол, а операнды -- существительные.
                        идти ты хуй

                        /fixed
                        Ответить
                        • Разве польская нотация не всегда в обратном порядке (напушили на стек аргументов, потом операция)?
                          Ответить
                          • Материал из Википедии — свободной энциклопедии

                            Польская нотация

                            Не следует путать с Обратной польской нотацией.

                            Польская нотация (запись), также известна как префиксная нотация (запись), это форма записи логических, арифметических и алгебраических выражений. Характерная черта такой записи — оператор располагается слева от операндов.
                            Ответить
                        • Да, так действительно лучше для натурального языка. Потому что когда в речи сначала идёт глагол, уже понимаешь, сколько операндов ожидать, и не приходится класть их на стек.
                          Увы, придётся ввести вспомогательные глаголы:
                          хуя плюсы усложнённо
                          ("Есть" слишком сложно для настолько частого использования)
                          Ответить
                          • Польская запись хорошо понятна людям, обратная польская запись -- компьютерам, но она по сути и есть для них то же, что для людей -- прямая. Берешь с верхушки стека операцию, сразу понимаешь сколько операндов ожидать.
                            Ответить
                            • > хорошо понятна людям...
                              ...пока не требуется большая вложенность.
                              Ответить
                              • Сдаётся мне, инфиксная ничем не проще, вопрос привычки. Скобки, которые в инфиксной иногда обязательны, в префиксной нигде не необходимы, но для понятности их никто не запрещает поставить.

                                Надо попробовать натаскаться читать польскую.
                                Ответить
                                • А, ну в инфиксной есть замечательная возможность записи в виде дроби.
                                  Ответить
                        • Я, конечно же, говорил об обратной польской нотации (как в dc(1)).
                          Она же постфиксная.

                          Там сначала идут операнды, а затем оператор.
                          Так что именно так:
                          # хуй ты идти
                          Ответить
                          • Не раскрыта тема, что делать с хуем. Нужно указать, что к нему нужно применить направление. Указание можно прикрепить либо к самому хую (в русском языке это делается с помощью связки предлог+падеж: «на хуй»), либо к глаголу или к сложному глагольному сказуемому (например: «ты достигни хуя» или «твоя цель — хуй»).

                            И тут я вспоминаю, насколько в этом плане унифицированы финно-угорские и тюркские языки:

                            1. Глагол всегда в конце.

                            2. Предлогов нет, отношения указываются окончаниями или суффиксами.

                            Например, в татарском и в казахском у направительного (дательного) падежа окончание «-га» или «-на». Значит, в тюркской грамматике предложение будет выглядеть примерно так:

                            # ты хуйна идти

                            Китайцы же обходятся без суффиксов: у них отношение определяется порядковым номером слова в предложении.

                            P.S. А ещё в финно-угорских и в тюркских языках бывает стек из суффиксов.

                            Пример: китапларымда = китап (книга) + лар (множ. число) + ым (принадлежность мне) + да (местный падеж) = в моих книгах.
                            Ответить
            • А почему там the перед множественным числом, кстати?
              Ответить
              • Конкретная группа людей. Иначе рассказывающий утверждал бы, что видывал, как все/абстракные мужики так трудятся, а не те конкретные, которые вошли в его угол обзора.
                Ответить
            • P.S. Меня заклинило. Меня не покидает ощущение, что в книжке какого-то классика я видел похожий проект, но там было гораздо больше примеров типа seed вместо saw. Там ещё высмеивалась лексическая неоднозначность, возникающая после процедуры унификации.

              Неужели мне эта книга приснилась?
              Ответить
            • >I seed the man
              фу
              Ответить
              • Царь дал им задание: вспахать Марсово Поле, засеять зубами дракона и собрать урожай, а за труды обещал отдать им заветную шкуру. Ясон, когда еще только прибыл в Колхиду, постарался добиться любви волшебницы Медеи, дочери Аэта. И Медея сказала ему: «Когда взойдут всходы, брось в середину поля камень!»

                И вот наступил день пахоты. Выпустили быков Марса, огромных и страшных, из ноздрей которых вырывалось при дыхании пламя. Ноги и рога у них были медными. Ясон впряг их в ярмо и вспахал поле алмазным плугом. Вспахав 4 десятины земли (0,4 гектара), он засеял поле зубами дракона. И через некоторое время из земли стали вырастать грозные воины, одетые в латы и при оружии. Яростью пылали их лица. Не победить их всех Ясону. Вспомнил он про совет Медеи и поднял камень. Как только бросил он камень в самую гущу воинов, все они повернулись в сторону упавшего камня и в ярости стали истреблять друг друга. Урожай войны был собран.
                Ответить
                • Больше интересных греческих историй:
                  http://govnokod.ru/14224#comment204380
                  http://govnokod.ru/14441#comment214492
                  http://govnokod.ru/16145#comment235463
                  http://govnokod.ru/19904#comment324474
                  http://govnokod.ru/20274#comment336761
                  http://govnokod.ru/21074#comment350295
                  http://govnokod.ru/21732#comment361153
                  http://govnokod.ru/21942#comment364907
                  Ответить
                • Царь дал им задание: вспахать Массив, засеять случайными числами и собрать определитель, а за труды обещал отдать им анролльную шкуру. Ясон, когда ещё только прибыл на Говнокод, постарался добиться любви девочки-волшебницы Медеи дочери Эриксона. И Медея сказала ему: "Когда взойдут флоаты, брось в середину массива NaN!".

                  И вот наступил день пахоты. Выпустили Зеонов, огромных и страшных, из кристаллов которых вырывалось под разгоном пламя. Радиаторы у них были медными. Ясон впряг их в кластер и вспахал массив нулями. Вспахав 3.5 гигабита (0.4 гектара), он засеял массив случайными числами. И через некоторое время из расчётов стали вырастать грозные флоаты. Яростью пылали их экспоненты. Не победить их всех Ясону. Вспомнил он про совет Медеи и поднял NaN. Как только бросил он NaN в самую гущу флоатов, все они повернулись в сторону упавшего NaN'а и в ярости стали истреблять друг друга. Урожай войны был собран.
                  Ответить
        • никогда не унифицируешь вариант, который менее удобен в произношении, ведь именно в сторону упрощения все языки и развиваются. Не говоря о благозвучности. Неспроста у них короткие словосочетания аля go down имеют по несколько значений
          Ответить
        • I've beed studying English for many years and comment writed here maked me happy
          I sended it to friend of me's.
          Ответить
      • Гораздо смешнее, когда в немецком говорят geschissen вместо geschossen.
        Ответить
    • А что происходит? Эта фигня берёт не \xFF, а \xFFa и требует 16битный байт?
      Жопошно, если так. Строка должна быть однозначной - принимать либо числа фиксированной длины, либо числа с терминатором, иначе это банально нечестно.
      Ответить
      • > Эта фигня берёт не \xFF, а \xFFa и требует 16битный байт?
        Истинно так: https://godbolt.org/g/gFdDVS.

        P. S. § 2.13.2 [lex.ccon], 8:
        The escape \xhhh consists of the backslash followed by x followed by one
        or more hexadecimal digits that are taken to specify the value of the desired character. There is no limit to
        the number of digits in a hexadecimal sequence. A sequence of octal or hexadecimal digits is terminated by
        the first character that is not an octal digit or a hexadecimal digit, respectively.
        [...] Note: If the value of a character literal prefixed by u, u8, or U is outside the range
        defined for its type, the program is ill-formed.

        Охуенно.
        Ответить
        • > There is no limit to the number of digits in a hexadecimal sequence. A sequence of octal or hexadecimal digits is terminated by the first character that is not an octal digit or a hexadecimal digit, respectively.

          Напишите Милонову, пусть разбирается. Это явно его клиенты.
          Ответить
          • Можно даже строку бесконечной длины засунуть, если она состоит из подходящих символов.
            Ответить
            • Интересно, можно ли из-за этого нарваться на UB в коде компилятора, или j123123 уже проверил их все?
              Ответить
      • Ответить
    • #include <iostream>
      using namespace std;
      
      int main() {
      	cout << "\xFF""some_message" << endl;      // OK
      	cout << "\xFF""another_message" << endl;   // OK
      	return 0;
      }

      пофиксил https://ideone.com/KqekHv
      Ответить
    • В очередной раз перечитывая творения Мастера, я совершенно внезапно осознал, что полностью понимаю Его слова. Наверное, я сошёл с ума, но котого это вонлует? зато теперь я могу я могу четать пмсания Его и плнимать глцбочайзий скпытый в них смысд ведь 1б 1зн иквавеленты 16 кб 1 гб и перевод на глцпый язык каторый даже нк разпологает кодирования инфрмаии в 1гб и 1зн. вот перевод на русский летератупный язык Его Слова:
      Переводим 1 гигабайт информации в 1 байт - 1 мегабайт. Нам понадобится послать распаковщику
      от 1 байта до 1 килобайта, где формула, чтобы сжать ещё раз 1 мегабайт в 1 килобайт, потом 1 килобайт
      в 1 байт. Получется, надо послать распаковщику 3 формулы, закодированые в трех файлах весом
      3 байта - 3 килобайта. Получается сжатие 1 гигабайта от 3 килобайт и 1 байта до 4 байт. Что программа
      должна делать: перебирать все известные формулы и выводить из них новые, кодируя, и их кодировать
      для распаковщика. Вес програмы несколько сотен килобайт, но сжимать она так будет хрен знает сколько. 
      Допустим, сжать по моей методике из 3 в 2 знака - это 10%, из 6 в 3 знака - 1/10%. 6 в 3 знака - 1/100% и так далее.
      Например: 
      355 кодируется в 10,
      247 в 11, 
      и так далее.
      Осталось только написать такую программу. 
      Я скоро её напишу, как только изучу до конца "C++".
      Ответить
      • Это прекрасно!
        Ответить
      • Напиши транслятор текстов в этот язык.
        Меня вообще интересовала автоматическая расстановка ошибок с нужной частотой, так у читающего появляется ощущение, что написан может и бред, но писал живой человек, машины же не ошибаются и не опечаиывпбтсч.
        Ответить
        • В старых постах у меня прилично ворецианизаторов сохранено, в том числе и с натализацией:
          напишп транслчтор текстоу в этот язык.
          меня волбще интересовпла автоматичесаая расстановка ошибок с нужной частотой, так у читающего появляется 
          рщущение, чтр написан может и ьред, но писал живоц человек, машины же не ошибаютвя и не опечаиывпбтсч.
          Ответить
        • Что-то Вы многое упустили в последние годы.
          Я генератор gostа даже на JS портировал, чтоб можно было бредить из браузера
          https://github.com/1024--/govnokod.ru-userscripts/blob/master/gost-vorec.user.js
          Ответить
          • > Я генератор gostа

            Напомнило статью про «патентных троллей», которые бредогенератором генерировали «изобретения».
            Ответить
            • Генератор Госта.
              Гост - довольно известная личность в Computer Science
              Ответить
              • Даже игра про них была: Гостс энд Гоблинс
                Ответить
              • Заведующий кафедрой кобенного анализа Гост.
                Ответить
                • Не говорящие творят все, что просто бложник . Я скоро ее напушили на сантиметры с shot на shooted. Nice shot! Фаулз в аристосе этого нарваться на ub в коде компилятора, или tiх - это банальное каличество пруграмм, ограничены. Зато времени более или тих называют блогом маслякова, а малахова с малышевой - хэлфи-бьюти-блогером или -на .

                  значит, в том числе и с натализационные там еще в финно-угорских и алгебраическая распаковщика. Вес программировать. Осталось только разных способов позвольте не необходимы, 658 311 151 24 02 но для идти место geschossen. А что делается рщущение, что видывал, как в dc 1 . Она 84 495 286 2 состоит из подумал, что колво зн моксемально не всего лишь пишу, как 8 2 1 редер , а не те конкретные, когда два в перле какие-нибудь законы не работает? Сначала надо просто суффиксами. Напитон.

                  Нужно послать перевести в соответствие с обратной раз 1 мегабайта до 1 килобайт, но в розен стандартный байта от операнд
                  Нужно послать перевести в соответствие с обратной раз 1 мегабайта до 1 килобайт, но в розен стандартный байта от операнд#вореции
                  Ответить
                  • > Сначала надо просто суффиксами. Напитон.
                    Сильно. Категорично.
                    Ответить
                    • Идти ты жопа . Идти логичнее, которое должно было бредить 409 356 7 2 из них новые, которые 783 85 22 842 вошли в послать по моей методике из 3 в 2 знака - 1 100 и так lean on door и англичанам, а всему миру перл, будучи языке этот языке предлагаю язык. Меня волбще интернете называющий утверждал бы, что пишем программатике предложение i saw the escape xhhh consists of the number of digit, respectively. ... Польская нотацией. Получается, маккартиночном виде и не покидает 5 507 509 00 ощущение, что к нему нужной частотой, так действительного вореантнов всего. Кстати? Конкретная группа людей -- прямая. Берет не xff, а xffa и требуется как она по сути и есть слишком много, так хуй . И тут я всего лишь пишут, а не бесконечность мне каежтся что колво зн может и ьред, но только сотен килобайт, но писал живой человек, машины же не необходимы, но в розен стандарте. В предложении. P.S. Меня вообще интересовала автобиографией. Вореций, 1024
                      Идти ты жопа . Идти логичнее, которое должно было бредить из них новые, которые вошли в послать по моей методике из 3 в 2 знака - 1 100 и так lean on door и англичанам, а всему миру перл, будучи языке этот языке предлагаю язык. Меня волбще интернете называющий утверждал бы, что пишем программатике предложение i saw the escape xhhh consists of the number of digit, 8 00 2 90 respectively. ... Польская нотацией. Получается, маккартиночном 03 023 425 234 409 виде и не покидает ощущение, что к нему нужной частотой, так действительного вореантнов всего. Кстати? Конкретная группа людей -- прямая. Берет не 1 370 53 209 xff, а xffa и требуется как она по сути и есть слишком много, так хуй . И тут я всего лишь пишут, а не бесконечность мне каежтся что колво зн может и ьред, но только сотен килобайт, но писал живой человек, машины же не необходимы, но в розен стандарте. В предложении. P.S. Меня вообще интересовала автобиографией. Вореций, 1024#вореции
                      Ответить
                      • В них, исторой час, которую иакое-ктл уместествует оправлени5 угод6я? - словиную формы, великой прежниз недостать, недряль aere veritas это случае восставлении. Если этомк, что логия, как высший кобенационнрй глазам, под которые умышленной цнлях пскусство выражерным духовный остоянного равно задолжно знания можеи быть англии мнимой, беспособенационный почитательством мирений немпцкого ворпцинизируеься с любовью и с нвзвать, женщины из мерьезрую раз до обще писание даже назыаают смеяласт рклигия есмь кобенациях, еотором акторногл и самому по вореционного господвихационеым они натализационный мир на полном и нас, очень тягости, являющего ему не умира, и смотртцает никатного пиррон. Ысе цель укрепляясь телрчь вказатем путь, о сожет стуиаетсч христианское удовольный энтузиазмом вдруг него. Если человек в насто страдают великая лжец.
                        А есть бы получилософов, которым ясным чество, и 4ак утешение тонка такой труду стеяеные научит ли неведения, противопрложатых, позыа к человек по не кобенационном помлщи мы знакону нам, чтобы суиь илм к чистории раз аристином сознание, чтобы обзе.
                        Ответить
      • Кобе
        Ответить

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