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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Widget&& var1 = someWidget;      // here, “&&” means rvalue reference
     
    auto&& var2 = var1;              // here, “&&” does not mean rvalue reference
     
    template<typename T>
    void f(std::vector<T>&& param);  // here, “&&” means rvalue reference
     
    template<typename T>
    void f(T&& param);               // here, “&&”does not mean rvalue reference

    В мире нет ничего более сложного, запутанного и неадекватно раздутого, чем семантика ссылок и категорий значений в «C++».

    Заглянуть в ад одним глазком: https://en.cppreference.com/w/cpp/language/value_category
    Впустить Ад в себя: https://eli.thegreenplace.net/2014/perfect-forwarding-and-universal-references-in-c
    Поехать кукухой: https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers

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

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

    • Особенно мне нравятся комментарии вот в этом примере:
      struct S { int m; };
      int i = S().m; // member access expects glvalue as of C++17;
                     // S() prvalue is converted to xvalue

      https://en.cppreference.com/w/cpp/language/implicit_conversion#Temporary_materializ ation

      Ожидается, блядь, glvalue, поэтому prvalue конвертируется в xvalue!
      Ответить
      • SPQRValue

        Карфаген должен быть разрушен
        Ответить
      • Какой язык легче выучить: «C++» или «OCaml»/«F#»?
        Ответить
      • - Петенька, сколько будет дважды два?
        - 5000.
        - Неправильно, Петенька. А ты, Машенька, как думаешь?
        - Вторник.
        - Неправильно, Машенька. Вовочка, а ты что скажешь?
        - Четыре.
        - Молодец, Вовочка, а как ты посчитал?
        - Ну как-как? 5000 минус вторник.
        Ответить
        • — Владимир Владимирович, сколько будет дважды два?
          — Буду краток. Вы знаете, буквально на днях я был в Российской Академии
          Наук, провёл беседу со многими учёными, в том числе молодыми, кстати,
          очень грамотные ребята. Так вот мы обсудили, в частности и данную
          проблему, поговорили о текущей экономической обстановке в стране; они
          так же рассказали о своих планах на будущее. Конечно, в первую очередь
          их волновала проблема востребованности; не менее остро встал и вопрос по
          ипотечным кредитам, но могу заверить, все эти проблемы решаемы и мы
          направим все усилия, чтобы решены они были в самом ближайшем будущем. В
          том числе это касается и темы, затронутой в вашем вопросе.
          Ответить
        • Шапокляк дала $10 Чебурашке и Гене. Каждому по $8. Кто не понял шутки -- у ктого не было детства
          Ответить
          • Кто не понял шутки, тот не знает Никлауса Вирта.
            Ответить
    • показать все, что скрытоvanished
      Ответить
    • Как-то мне потребовалось узнать, почему вызывается одна функция вместо другой.

      Через час чтения стандарта у меня появилось подозрение что я хожу по кругу. Через два часа это подозрение укоренилось. Через три часа я вообще перестал понимать, как функции вообще работают.

      Так что категории значений это не самое страшное в С++
      Ответить
    • Затем заставляют представить код, в котором && не является rvalue. Неподготовленный человек боится представлять glvalue, xvalue и prvalue т.к. некоторые участки подсознания не знают, что это такое. Этот страх подпитывает страх вызова не той функции и потери пирфоманса.

      Жертву могут заставить представить себя prvalue. Затем говорят, что приближается то, что жертву сконвертируют в xvalue. Говорят, что это страшно (... с соответствующей гримасой и жестами ...) Говорят, что для того, чтобы это прекратилось, необходимо дочитать стандарт до конца.
      Ответить
      • Поэтому я за brainfuck - там нет никаких &&, rvalue, glvalue, xvalue, prvalue и тому подобной питушни.
        Ответить
      • Вводят в состояние, в котором подвергающийся воздействию может поверить во все, что угодно ( возможно использование холенолитиков, гипноза, акупунктуры ) .
        Заставляют написать программу на C++, объясняя это тем, что "иначе весь мир погибнет" .
        Программа на C++ пишется с использованием рекурсивных вариадических шаблонов или другой метушни.
        Затем объявляют, что обманули, что написано говно.
        Говорят, что "... должен это..." , приказывают написать на JavaScript такую же программу, как на С++.
        Когда подвергающийся воздействию пытается написать на JavaScript, его останавливают каждый раз. После нескольких десятков остановленных попыток написания ( при этом рука подвергнувшегося воздействию останавливается, когда палец находится в нескольких сантиметрах от Ctrl+S ) , подвергнувшемуся воздействию говорят:
        " ...ты это должен, я это забираю, и ты будешь делать все, что я тебе скажу, иначе я тебе это верну и ты умрешь... "
        Затем C++ и JavaScript забирают.
        Ответить
    • Кто то еще пишет на крестах ? Расскажите этим динозаврам про "Java Script"
      Ответить
      • Приведи реальный пример приложения на электроне, которое не тормозит.
        Ответить
        • Интересно, лет через 10, когда всё будет на электроне, кто-нибудь придумает ещё более тормозную хуйню и будет её продвигать?
          Ответить
        • discord, slack, vscode
          Ответить
          • > discord
            Хуйня.
            > slack
            Говно.
            > vscode
            Моча.
            Ответить
            • Окей, бумер
              Ответить
            • гост, ты до сих пор считаешь, что вскоде это моча?
              Ответить
              • я не гост, но да, большое количество пользователей погоды не делает, а омерзительный ux это омерзительный ux.
                Ответить
                • в чём ux вскоде омерзительнее обнажённой емахи?
                  Ответить
                  • Нахрюкивать про «emacs» не буду. Основная проблема UX «VS Code» в том, что практически вся полезная функциональность (языковые серверы, форматтеры, сборщики, дебаггеры, ...) реализуется васянскими плагинами, и у каждого васяна — свой собственный взгляд на то, какой должен быть UX. Дополнительно, все эти васянские плагины постоянно конфликтуют друг с другом, и никакой инфы ты про это в интернете не нароешь, потому что экспоненциальный взрыв, и с таким же набором плагинов, как у тебя, больше на Земле никого нет. Смешной пример: в «Python» у меня «VS Code» показывает по джва тултипа по наведению на каждый объект. Я очень долго пытался с этим бороться, жонглировал языковыми серверами и тайпчекерами, но ничего не добился: или сиди без тайпчекера, или без языкового сервера, или с с двумя тултипами.
                    А, и ещё в этих тултипах инфа была пересекающейся, но не совпадающей: иногда в первом тултипе было больше инфы, иногда — во втором.
                    Ответить
                    • ха-ха, да это же эклипс
                      Ответить
                      • да это любой редактор-конструктор

                        хотя студия (которая взрослая) тоже по сути конструктор, была даже когда-то такая шняга как visual studio shell. но для студии плагины наверное всё-таки ребята посерьёзнее писали
                        Ответить
                        • Студия сама по себе умеет много гитик даже вообще без плагинов. Под нее плагинов-то было: помидорка visual ass-ist, да ReSharper. Это уже потом напахали

                          >shell
                          насколька я помню, это MS на основе шелла делала всякие штуки типа клиента к MS-SQL. Делали-ли на основе шелл полноценные IDE другие питухъи я не знаю
                          Ответить
                          • была ide для питона на основе шелла
                            Ответить
                            • я не видел

                              зато я видел IDE на основе Intellij для Perl 6.

                              Если тебе вдруг кажется, что у твоего продукта не очень четкий таргетинг на рынок, то вот вспоминай, что есть и такой продукт
                              Ответить
                              • > не очень четкий таргетинг на рынок
                                – попадает на ободок?
                                Ответить
                          • кстати, а кто помнит такое чудо, как Komodo Edit?
                            Ответить
                            • А я еще знаю Editplus, который почему-то никто кроме меня не знает
                              Ответить
                              • да так-то их дохуя

                                но у вскоде перед большинством из них есть одно критическое преимущество: он вроде бы стоит ровное нихуя. ну и кроссплатформенность
                                Ответить
                                • Notepad++ тоже стоит нихуя вроде, и vim тоже. Не помню на счёт саблйм

                                  Кстати, Editplus умеет всё тоже самое, что и Notepad++, и ничего сверх того, но при этом стоит денег
                                  Ответить
                                  • npp только под винду
                                    саблайм типа бесплатный для личного пользования, для работы нужна лицуха (реально видел контору, где официально запрещено было его использовать, хотя всем было похуй)

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

                С недавних пор практически полностью перешёл на продукты «JetBrains» (за исключением «C++»: до сих пор считаю «Visual Studio» лучшей IDE для крестов) и остался крайне доволен: они хоть и тяжёлые пиздец, но хотя бы выполнены целостно и не такие кривые и тормозящие, как «VS Code».

                На «VS Code» остались только пара легаси-проектиков. Новые будут в «PyCharm».
                Ответить
                • > и остался крайне доволен


                  Ел сегодня английский ванильный мусс и остался им доволен.

                  ___

                  Рассматривал электрическую лампочку и осталься ею доволен.

                  ___

                  Купался в Екатерининском пруду и остался этим доволен.
                  -----------

                  Что с тобой, гост? Не ты ли тут топил за вскод?
                  Ответить
                  • > Не ты ли тут топил за вскод?
                    Не помню такого. Может, помрачнение на фоне депрессии и суицидальных мыслей нашло, не знаю.

                    > доволен
                    По сравнению с «хуёво» будешь доволен даже просто «плохо».
                    Ответить
                    • https://govnokod.ru/27124#comment598768
                      Ответить
                      • Как удалить комментарий?

                        Молодой был, значит, и неопытный. А сейчас уже наебался с плагинами, хочу чтобы из коробки работало заебись.
                        Ответить
                        • тебе к эппл

                          "чтобы работало заебись", не обещаю, но, кроме коробок, ничего не дают
                          Ответить
                          • Да нет, самому-то мне интересно копаться в кишках всего и докапываться до сути. Меня доканывает убирать говно за десятком васянов.
                            Ответить
                            • То-есть ты не против опенсурса и системы плагинов, но только если их писали не ротоёбы? Типа тебе просто не нравится пользоваться кодом ротоёбов?
                              Ответить
                              • > не нравится пользоваться кодом ротоёбов

                                Тогда бы он не пользовался кривым тормозным жабоговновысером от "JetBrains"
                                Ответить
                                • Ну это элитные ротоёбы всё таки. Серьёзные. Я бы сказал Ротоёбы Ивановичи
                                  Ответить
                                • напомни, чем пользуешься ты? vim + ctags?
                                  Ответить
                                  • Я чем попало пользуюсь, но важно чтоб не тормозило (продукты от JetBrains этому критерию не соответствуют). Помню в Emacs когда-то код на ассемблере писал. Недавно вот пользовался Qt Creator, чтоб код на сишке писать. Одну хуйню когда-то писал в Code::Blocks. Одну хуйню писал в какой-то говноIDE от вендора, которая основана на Eclipse (Конкретно эта https://www.st.com/en/development-tools/stm32cubeide.html хуйня, там еще какое-то встроенное говно есть(STM32CubeMX), которым можно кодогенерировать питушню, которая б настраивала выводы контроллера (т.е. генерировала код, который инициализирует всякие GPIO и периферию)- например https://www.st.com/content/dam/st-crew/developer-zone/cube-ide/stm32cubeide-mx-clock-tree-configuration%20%201%403x.png ). Поскольку эклипс это жабаговно, он конечно тормозит, но не так сильно, как высеры от JetBrains. А еще мне часто хватает обычного тупого редактора, типа mousepad-а какого-нибудь, или даже gedit. Vim-ом попробовать попользоваться тоже могу вполне, но я его даже особо не осиливал, там какие-то блядь режимы переключения и ебанутые комбинации чтоб перейти из режима вставки в режим дополнения текста, хуйня какая-то, лень разбираться. Конфиги только им редактировал через SSH
                                    Ответить
                                    • Что касается например "Python", то я обычно использую тупой блокнот, типа Gedit или Mousepad, иногда Jupyter Notebook. Я на питоне никаких "серьезных программ" не пишу, обычно это какие-то одноразовые говноскрипты.
                                      Ответить
                                      • А тебе норм прыгать между редакторами? норм, что везде разные хотки?
                                        Ответить
                                    • ты часто кстати дебажишь? и как оно происходит, просто сразу какой-то gdb и всё?
                                      Ответить
                                      • Когда как. Иногда распихиваю fprintf(stderr, "var x = %d", someshit); иногда через gdb, иногда через хуйню в говноIDE которая под капотом использует gdb.

                                        С контроллером, под который я сейчас пишу прошивку, gdb я использовать тупо не могу т.к. у меня к нему нет отладчика (отладчика в том смысле что хуйни, которую к контроллеру надо подключить проводками чтоб отладить (In-Circuit Debugger), сам gdb там использовать можно. Я могу только перепрошивать и запускать), так что я туда принтф-ы напихиваю.
                                        Ответить
                                        • Но иногда и принтф-ы использовать нельзя, например если надо отлаживать хуйню, происходящую в обработчике прерывания. Тогда из обработчика можно насрать хуйни в какую-нибудь глобальную переменную, и потом ее уже принтфать.

                                          Может какие-нибудь из этих ваших новомодных-IDE-на-жабе умеют автоматически набрасывать в разные места программы всякие там принтф-ы, чтобы это было как бы как отладчик?
                                          Ответить
                                          • это var_dump($value) или var_export($value, true)

                                            https://www.php.net/manual/en/function.var-export.php
                                            Ответить
                                            • У меня в контроллерах нет никакого "PHP"
                                              Ответить
                                              • А при желании можно засунуть?
                                                Ответить
                                                • Ну... наверное можно, только это будет какое-нибудь урезанное подмножество, типа как MicroPython.
                                                  https://www.hackster.io/sanyaade1/php-embedded-php4mcu-2bf22c какая-то такая хуйня нагуглилась

                                                  Там https://github.com/symisc/PH7
                                                  Ответить
                                                  • > Amalgamation: All C source code for PH7 are combined into a single source file.

                                                    a godless beast

                                                    > PH7 was developed in the early 2011 by a Tunisian startup for a French conglomerate which was looking for a way to power the web interface of their commercial routers.

                                                    enjoys its wretched meal
                                                    Ответить
                                                    • ахахаха, донер дюрим кебаб с бараниной двойной пожалуйста
                                                      Ответить
                                                      • когда я был в берлине, возле отеле была донерная, и я подумал - нельзя же не попробовать берлинский донер

                                                        - doner please
                                                        - gemüse?
                                                        - sorry, only english
                                                        - овощи все будете?
                                                        Ответить
                                                        • Ну у меня примерно так же

                                                          --Goededag, doe maar een doner kebab met vlees asljeblieft
                                                          --Vegetables?
                                                          --(настойчиво) ja hoor
                                                          --Takeaway?
                                                          --(еще более настойчиво) nee, hier eten

                                                          Разгадка такая, что я с этим турком полтора года на английском говорил, и он теперь как меня видит -- сразу переключается, и хуй ты его на нидерландский переключишь обратно
                                                          Ответить
                                                          • -- Goededag...
                                                            -- Your usual, sir? (не дожидаясь, пока закончишь требование)
                                                            Ответить
                                                  • >Powerful OO subsystem.

                                                    сук ))))
                                                    Ответить
                                          • Кошмар какой:)

                                            Большие компы поддерживали дебаг через ком порт еще четверть века назад. NT поддерживал, прыщи чуть позже подтянулись.

                                            А у тебя эмулятора нету хотя бы?
                                            Ответить
                                            • > Большие компы поддерживали дебаг через ком порт еще четверть века назад. NT поддерживал, прыщи чуть позже подтянулись.

                                              Вхреначивание в прошивку механизма дебага через ком порт (точнее, UART) не всегда возможно. Например, на это может тупо не хватать места. А даже если и возможно, не факт что реализовано кем-либо. https://github.com/specadmin/avr-debug - для AVR есть например такая хуйня

                                              > А у тебя эмулятора нету хотя бы?

                                              Эмулятора всего контроллера целиком со всей периферией - нет. А эмулировать тупо систему команд этого контроллера - нахуя? Если например я написал какую-то хуйню, которую можно и на компе собрать (скажем, если я запускаю самописную хеш-таблицу, которой в общем-то похер на чем работать) то я ее отладить и на компе с системой команд x86-64 могу. Если же я работаю с какой-то хитрой аппаратной хуйней, то она тупо не эмулируется одной лишь ISA, нужно более сложный эмулятор юзать, которого тупо нет. В эмуляторе можно разве что куски на ассемблере дебажить, вот только это довольно редкий кейс
                                              Ответить
                                              • > ком порт (точнее, UART)

                                                Под словом "ком порт" я имел ввиду попсовое название из мира "wintel". Я понимю, что в микропетушне у тебя скорее всего UART с TTL, а не RS232.

                                                Я понял про твою проблему с эмулятором, да: эмулировать ISA процессора и правда нет смысла, если ты не пишешь на асемблере (хочется думать, что ты доверяешь компилятору сей) а целую мандалу хрен сэмулируешь. В этом ты значительно отличаешься от мобильной разработаки и от программирования под обычные PC, которые давно уже можно гонять на эмуляторе (или подключаться кабелем к ядрам на реальном железе)
                                                Ответить
                                                • Бывают интерфейсы понавороченнее, чем UART, например, I2C и SPI.

                                                  I2C в телевизорах используется, в эту линию микросхемы срут кодами ошибок.
                                                  Ответить
                                                  • Они и в компах есть. Всякие говносенсоры чепрез них подключены в лэптопах
                                                    Ответить
                                                    • Да, причём I2C в компе как-то особенно называют, забыл как. Нашёл, SMBus.
                                                      Ответить
                                                    • И не только в лэптопах. В десктопных материнках, начиная с ATX, термодатчики через I2C (SMBus) работают.

                                                      Только наружу разъём не выводят, поэтому пользователи даже не догадываются, что оно есть.
                                                      Ответить
                                                      • Вот кратко:

                                                        https://ru.m.wikipedia.org/wiki/SMBus

                                                        Оказывается, в SMBus используют 3,3 вольта вместо привычных для I2C пяти вольт.
                                                        Ответить
                                                        • точно, SPD питушня же еще читается через нее, просто это не ебет никого, кроме писателя прошивки, потому ни авторы операционок, ни писатели драйверов, ни админы нихуя про это не знают
                                                          Ответить
                                                          • В английской версии побольше написано. SMBus 2.0 и 3.0 чуть больше похожи на I2C.

                                                            Да, кроме писателя прошивки это никому не нужно. Однако, Винда в Диспетчере устройств зачем-то проговаривается, что у твоей машины есть SMBus. Значит, какие-то хитрые драйвера её всё-таки используют.
                                                            Ответить
                                                            • В прыщетуле для SMbus

                                                              https://github.com/lm-sensors/lm-sensors

                                                              утверждается, что большие компы часто экспозят инфу о своих сенсорах на SMBus, тогда как ноуты выдают инфу чисто через методы APCI.

                                                              Так что на ноутах скорее всего никто (кроме софта от вендора) не полезет в SMBUs напрямую, а в десктопах может.

                                                              ACPI предоставляет тебе инфу о вентияторах

                                                              https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/11_Thermal_Management/fan-device.html

                                                              но позволяет найти и SMBus тоже
                                                              https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/12_ACPI_Embedded_Controller_Interface_Sp ecification/smbus-devices.html

                                                              Прыщетула умела читать SMBus еще до ACPI
                                                              https://hwmon.wiki.kernel.org/faq

                                                              иногда она что-то ломала этим
                                                              https://en.wikipedia.org/wiki/Lm_sensors#Issues

                                                              бздевый драйцвер для SMBus
                                                              https://man.freebsd.org/cgi/man.cgi?query=smb&sektion=4&apropos=0&ma npath=FreeBSD+14.0-RELEASE+and+Ports

                                                              старый клиент к нему
                                                              https://man.freebsd.org/cgi/man.cgi?query=mbmon&apropos=0&sektion=0& manpath=FreeBSD+6.4-RELEASE+and+Ports&format=html

                                                              обрати вниммние на способы подключенияч

                                                              >"VIA686 HWM directly"|"SMBus"|"ISA I/O
                                                              port"|"All this methods"

                                                              новый клиент
                                                              https://man.freebsd.org/cgi/man.cgi?query=bsdhwmon&apropos=0&sektion =8&manpath=FreeBSD+11-current&format=html

                                                              винда и SMB
                                                              https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/functionality-loss-for-intel-smbus-controller-device

                                                              ну и последнее
                                                              >>
                                                              If you don't want to use ACPI then you're going to have to write your own code to access the SMBUS on the motherboard, and then control the fan controller chips.

                                                              Check out the program motherboard monitor for clues on how to get started. It's nontrivial, since every motherboard and bios is different.
                                                              >>
                                                              Ответить
                                                              • О, давайте за неимением броманда, спросим j123.


                                                                j123, верно-ли мы понимаем, что через ACPI можно теребонькать градусники и вентиляторы, а в SMBus нужно ходить только если инфы из ACPI тебе недостаточно?
                                                                Ответить
                                                                • на прыщах есть еще такой прикол, что вот если и ACPI (сиречь, код на AML) хочет ходить в smbus, и твой драйвер хочет ходить напрямую, то будет конфликт, и надо

                                                                  acpi_enforce_resources=lax
                                                                  Ответить
                                                                • Я в этой хуйне особо не разбираюсь. У меня в контроллерах нет никакого ACPI. Потеребонькать всякие вентиляторы на IBM-совместимом питухе можно еще через SMM (System Management Mode) - https://wiki.osdev.org/System_Management_Mode

                                                                  > SMM predates ACPI. Without ACPI, it makes sense that the firmware would want to stay resident in memory even once an OS is running, because the OS may not have drivers for all of the thermal sensors, fans, and CPU performance settings that are available on that particular motherboard/chipset/CPU combination. With ACPI, however, the firmware stores AML code for the OS to interpret and execute; that AML tells the OS how to handle all those things. Theoretically, this means that SMM is not nearly as critical on a modern system as on a pre-ACPI system. However, at boot time the firmware has no way of knowing whether or not the OS includes a complete ACPI implementation or whether the OS is willing to take responsibility to managing power, thermal properties, and CPU performance. So by default, the firmware will still use SMM to handle all those things itself.
                                                                  Ответить
                                                                  • В SMM обычно сидит кусок прошивки, который их теребонькает. Почему его кладут именно в SMM? Потому что это самый низкий уровень, он ниже не только ОС, но и гипервизора, ему ОС и гипервизор не перебьют права доступа.

                                                                    А код из прошивки, естественно, знает адреса, по которым можно общаться с SMBus и с другим железом. Это не потому что SMM, а потому что это родной код для материнки.
                                                                    Ответить
                                                              • Так. Ну и как мне это поможет мне в написании сайта автосервиса на php и mysql?
                                                                Ответить
                                                            • мы забыли еще одно использование I2C: EDID, чтобы читать режимы с монитора
                                                              Ответить
                                                              • Точно. Причём I2C там появилась не сразу, в DDC1 была какая-то примитивная питушня с односторонней связью.
                                                                Ответить
                                                                • Угу. У нас был тредик же про ручную настройку частоты монитора, xfree modelines, про "multisync" мониторы, и про собссно EDID

                                                                  Ты мнееще там про ФАПЧ рассказывал
                                                                  Ответить
                                                              • И, кстати, I2C, которая SMBus и которая DDC (EDID), не пересекаются. Последнюю видит только видеокарта.
                                                                Ответить
                                                                • Да, процессор может иметь к ней доступ только через порты видеокарты. Там вроде даже в VBE была питушня для этого.
                                                                  Ответить
                                                            • про винду. Шатских крутой чувак, он обычно на osr тусит
                                                              https://community.osr.com/t/smbus-driver-and-windows-xp-recommended-reading/43525/4

                                                              Видишь, он пишет, что в по уму вендор прошивки должен экспозить через ACPI всю петрушку, а клиентский питух должен забирать ее через WMI.

                                                              В реале же хуй кто так делает кроме серьезных чуваков, а просто выставляет наружу SMBus, который всякие питухи читают в вендор-специфичной манере.

                                                              Так что общую петрушку типа температуры температуной зоны ты можешь узнать через универсальные API, у знать сколько там оборотов фена у PSU то ты можешь только через специальную тулу вендора (або через унивелсальную тулу, где захардкожены конкретные материнки)

                                                              Популячрные тулы для винды юзают фреймворки типа

                                                              https://www.cpuid-pro.com/products-system-monitoring-kit.php

                                                              ну и намекают, что к некоторым вещам они прибиты гвоздями

                                                              (1) Corsair® HX550i, HX650i, HX750i, HX850i, HX1000i, HX1200i, RM550i, RM650i, RM750i, RM850i, RM1000i.
                                                              Ответить
                                                              • там по сслке на osr вообще драма разыгралась

                                                                Питуху велелеи втыкнуть хуйню в SMBus, и он хочет написать к ней софт под винду.

                                                                Питуху говорят, что это в целом плохая идея, потому что SMBusом завидует прошивка, и она может в SMM режиме туда метнуться тушканчиком, и покрутить скорость вентилятора например, и ты вообще не узнаешь, что тебя преврали, и всё засрешь.

                                                                Потому ты правь прошивку и вытаскивай наружу ACPI метод, или не еби вола, и суй девайс хоть на serial port.

                                                                Потому что в SMBus на самом деле не надо никому ходить кроме прошивки, потому что это не вообеще не шина для внешних устройств

                                                                Такой багор короче ))
                                                                Ответить
                                                                • Для внешних устройств есть ПРЕОБРАЗОВАТЕЛЬ USB в I2C IIC SPI UART TTL КОНВЕРТЕР ПОРТОВ ДОСТАВКА ИЗ КИТАЯ.

                                                                  А в SMBus пользователей решили не пускать, вероятно, чтобы они ничего не напортили и не сожгли материнку, остановив вентиляторы.
                                                                  Ответить
                                                                  • > ДОСТАВКА ИЗ КИТАЯ

                                                                    правильно КОРАБЛЬ ИЗ МОСКВЫ
                                                                    Ответить
                                                                    • Не сразу допёр в каламбур ship/shipment.

                                                                      Какой надмозг )))
                                                                      Ответить
                                                                  • я же принес ссылку, почитай про трагедии

                                                                    https://en.wikipedia.org/wiki/Lm_sensors#Issues
                                                                    Ответить
                                                                    • интересна история поячвления сенсеров в бзде

                                                                      сначала там была такая мандала

                                                                      https://en.wikipedia.org/wiki/Envsys

                                                                      потом ее переделали на sysctl
                                                                      https://en.wikipedia.org/wiki/Hw.sensors
                                                                      Ответить
                                            • Ну и чтоб дебажить в эмуляторе целую плату, на которую напаяно всякой хуйни (например аудиокодек) - тебе надо в эмуляторе еще этот аудиокодек корректно эмулировать, кто это будет писать? Задача написания такого эмулятора может оказаться сильно сложнее, чем та задача, которую ты должен на этом контроллере изначально решить, а еще в этом эмуляторе могут быть какие-то баги, в общем хуйня полная
                                              Ответить
                                              • Да там ещё придётся эмулировать датчики и прочие источники сигналов. Или придумывать, как подключить эти датчики к ПК.
                                                Ответить
                                              • Кстати, а ты как-то автоматизируешь тесты?
                                                У тебя есть тест сьют, который ты запускаешь в автоматическом режиме на своей железной мандале?
                                                Ответить
                                                • > Кстати, а ты как-то автоматизируешь тесты?

                                                  Конкретно я - никак. Но вообще с этим иногда некоторые заморачиваются. Есть так называемые "device farms" для тестирования всякой хуйни на мобилках, такое же можно намутить и для тестирования контроллеров всяких, каким-то там образом эмулировать нажатие кнопок на хуйне, эмулировать показания датчиков и прочее

                                                  Ну и если у тебя некий кусок кода, который на аппаратную хуйню никак не завязан, то ты его можешь тестировать у себя на компе, и контроллер тебе для этого не нужен вообще
                                                  Ответить
                                                  • Если код не завязан на железку, то ты можешь его на каждый коммит на CI тестировать, это понятно.

                                                    мне было интересно, как прикручивают реаьные железки к CI. Ну вот флиппер тому отличный пример
                                                    Ответить
                                                • Вот например про флиппер этот:
                                                  https://habr.com/ru/companies/flipperdevices/articles/522964/

                                                  >Пока пишется код, его нужно постоянно тестировать. Задача усложняется тем, что тесты нужно выполнять на реальном железе и взаимодействовать с реальным миром. Для этого был сделан удаленный тестовый стенд, который интегрируется с CI-скриптами через GitHub Workflow. При каждом коммите в прошивку она автоматически собирается и заливается в девайс, после чего выполняются тесты, результаты которых выплевываются в UART: так можно понять какие тесты завершились успешно. Пока это работает криво, но в дальнейшем так мы будем проверять все функции: принимать/отправлять радио, считывать/записывать NFC карты, передавать/принимать ИК-сигнал и т.д.

                                                  Короче, сложно это
                                                  Ответить
                                    • > не тормозило
                                      > Emacs
                                      – такое, разве что это был голый ванильный емакс
                                      Ответить
                                      • Если сравнивать "Emacs" с какой-нибудь поделкой на базе жабаговна от JetBrains (типа "Android Studio"), то он прям вообще нихуя не тормозит, даже с некоторым количеством плагинов.
                                        Ответить
                                        • Android Studio это поделка гугла на основе поделки jb
                                          Ответить
                                    • Что за отвратительный нахоюк на вим?

                                      Нажимешь ESC, и оказываешься в логичном и удобном мире: "A" это APPEND, "R" это rub-out, "C" это change, ну.

                                      Чтобы переместиться в конец нужно ожидамео нажать "G"
                                      Ответить
                                      • Я из Вима вышел даже быстрее, чем из Эмакса. Эскейп, Q, восклицательный знак (чтобы не вопил, что файл не сохранён), Энтер.
                                        Ответить
                                        • Если ты выбираешь редактор по скорости выхода из него, то рекомендую `ed(1)`

                                          Выйти сохраняясь еще можно через ESC ZZ кстати.

                                          В емаксе есть одна штука, от которой я просто ссу от радости каждый раз: ты можешь получить список вообще всех команд -- и имени и хотки. Это мегаудобно
                                          Ответить
                              • > То-есть ты не против опенсурса и системы плагинов, но только если их писали не ротоёбы?
                                Скорее я за опенсурс (хотя в случае «VS Code» он весьма и весьма условный; без геморроя можно пользоваться только официальными бинарями, а с неофициальными «MS» борется, например, запрещая на них установку своих проприетарных плагинов и активно препятствуя тем, кто пытается это сделать) и систему плагинов, но только если они дополняют продукт: то есть, если у продукта есть хорошее и прочно ядро, которым можно спокойно пользоваться самим по себе. Если же продукту для минимальной юзабельности нужны плагины от васяна — это, по моему мнению, говнище (за, возможно, редкими исключениями).

                                Ни «Visual Studio», ни продуктам «JetBrains» плагины для нормальной работы не нужны: установил и используешь. Плагины там ставятся либо для каких-то редких юзкейсов, либо чтобы были анимешные девочки на фоне. И это заебись.
                                Ответить
                                • Чисто технически в JB дохуя плагинов, но они все написаны самим JB, и бандлаятся в продукты. Ты можешь найти список плагинов, их там штук сто будет.
                                  Ответить
                                  • Это правда. Но главное отличие от васянских плагинов в том, что все JB-шные плагины тестируются и поставляются в одной конфигурации, и от этого крайне редки ситуации, когда один плагин конфликтует с другим.
                                    Ну и, конечно, их всё таки не совсем ротоёбы пишут.

                                    К слову, тем не менее, плагины «Идеи» для не-профильных языков работают весьма хуёво. «TypeScript» в «StormZ» «WebStorm» гораздо более удобен, плюс сам «Шторм» ощутимо шустрее «Идеи».
                                    Ответить
                                    • а как так получается?

                                      я бы подумал, что WebStorm это и есть просто идея с плагином для веб-разработки, вычищенная от всего остального
                                      Ответить
                                      • Сам плагин для поддержки языка тот-же самый, но UI другой. Idea представляет проект в джавовых терминах, и натягивание на нее плагинов обычно работает плохо.

                                        Потому на питоне лучше писать в пайшарме
                                        На руби -- в рубимайн
                                        На тайпскипте -- в вебшторме
                                        На си в силайне
                                        На го -- в голанде
                                        На расте -- в растровере
                                        А в идее можно писать только на языках под JVM
                                        Ответить
                                      • > вычищенная от всего остального
                                        Как раз из-за этого. Ну и, видимо, всё таки какая-то срань там добавлена для более качественной поддержки — инспеции, нативная поддержка «ESLint» и подобная срань. Подробнее сейчас не подскажу. Завтра пороюсь, если не забуду; сегодня уже спать пора.
                                        Ответить
                                • > «MS» борется

                                  хуясебе что уже выдумали затейники
                                  https://open-vsx.org/
                                  Ответить
                                  • https://github.com/VSCodium/vscodium/discussions/1641
                                    Эпопея.
                                    Ответить
                                    • с другой стороны, я не понимаю, зачем из редактора уровня вскоде пытаться сочинить полноценную ide

                                      ну там json красиво отформатировать и посмотреть, логи чекнуть, превьюху мракдауна и плантюмл, но полноценный проект пихать на чём бы то ни было??
                                      Ответить
                                      • а зачем из персонального компа для дома сделали сервера?
                                        а зачем из десктопной хуйни с окошками сделали серверную ос?
                                        а зачем из шабалонизатора сделали ЯП?
                                        Ответить
                        • Кто в молодости не орал ХОЧУ ЛИНУКС ФРОМ СКРАТЧ! ХОЧУ САМ НАПИСАТЬ 900 КОНФИГОВ ПОД СИБЯ!! ХОЧУ VIM и 33 ПЛАГИНА и САМ БУДУ ПИСАТЬ НА vimscript
                          к того нет сердца

                          Кто в старости не купил себе макбук с Intellij Idea и платный менеджер заметок -- у того нет денег
                          Ответить
                        • То был gost, а ты ISO
                          Ответить
                      • тут же ниже

                        https://govnokod.ru/26283#comment518221
                        Ответить
                  • А я топлю за вскод. Людей, которым нужен копайлот, должно быть легко отличить от программистов.
                    Ответить
                    • Пока ты тут тужишься и пыжишься, копайлот написал за меня проект. Мне даже учиться программировать не пришлось.
                      Ответить
                      • > копай лот
                        – так он строитель или моряк?
                        Ответить
                        • Лот это библейский персонаж.


                          Сам Лот с дочерьми спасся в близлежащий город Сигор. Не чувствуя себя там в безопасности, он вместе с дочерьми поселился в пещере на ближней горе. Там произошло кровосмешение отца (Лот был пьян) с дочерьми, которые полагали, что весь человеческий род погиб и только они трое остались в живых, сначала со старшей дочерью, а на следующий день — с младшей. Однако Лот не знал, когда дочери легли с ним и когда встали.
                          Ответить
                          • you have my attention
                            Ответить
                          • > которые полагали, что весь человеческий род погиб и только они трое остались в живых
                            Да это ж отсылка на «Worm»!
                            Ответить
                            • а я играл в Worms ещё на мегадрайве

                              первые двадцать минут я всегда тратил на то, чтобы раздать червякам имена моих одноклассников и знакомых

                              p.s. я знаю, что ты про другое
                              Ответить
                              • а потом захуячить их святой гранатой и бесценной вазой мингов?
                                Ответить
                                • на мегадрайве в червяках не было никаких святых гранат, только осколочные, только хардкор

                                  бля, сколько всё-таки очешуенных игорей было на шестнадцатибитке
                                  Ответить
                                  • я на пе ка играл в червей только


                                    на сеге я тек с лайт крозейдера, иммортала, и еще всяково таково
                                    Ответить
                                    • ну лайт крусайдер это классика

                                      иммортал тоже классика, только я считаю, что это говноклассика с говногеймдизайном. типа задрочи себя и игру до смерти, поняв извращённую логику авторов
                                      Ответить
                                      • Ну это раньше так часто было. Вот тебе квадратик 10x10, и ебись там год, чтобы пройти в следующую комнату.
                                        На спектруме много таких игр было. Под дос тоже бывали: гоблины первые и вторые, например
                                        Ответить
                                        • > На спектруме
                                          – спектрум платформа мало того, что немощная, так ещё в силу своей доступности привлекавшая орды ротоёбов того времени. так что не удивительно

                                          а на мд не так уже часто были такие задротские игры. но иммортал красивый, тут не поспоришь
                                          Ответить
                                          • >>>
                                            Back in 1984 I purchased 'Eye of Bain', an early Hobbit-esque adventure game. It wasn't a very popular game, so there were no hints in magazines.
                                            I was never able to get out of the first location.
                                            >>>

                                            какой багор ))
                                            Ответить
                    • Я топлю масло, потому что топлёное масло потому что продукт богат и витаминами: А, Е, D, РР, группы В. В его составе есть фосфор, железо, цинк, кальций, медь. Поскольку в топленом масле почти нет ...
                      Ответить
                      • в PHP тоже нет
                        Ответить
                      • ...танков, самолетов и кораблей, то это весьма сомнительное развлечение. Именно поэтому я за «war thunder»: это целый мир бесконечных боев
                        и грохочущего железа. Только тонкая грань симуляции отделяет игрока от настоящих боевых действий, где каждый со своими товарищами может встать за штурвал.
                        Ответить
          • Vanished
            Ответить
          • показать все, что скрытоvanished
            Ответить
          • показать все, что скрытоvanished
            Ответить
    • Приведите реальный пример крестокода, который нужен, в 2к20 ?
      Ответить
    • Вот давайте раз и навсегда решим кресты
      Нужны Ор Нот ?
      Ответить
      • Если решим, что нет, то все разработчики в мире прислушаются к нам и свернут все свои проекты на крестах?
        Ответить
        • На крестах в 2к20 пишут что-то кроме хелло ворлда?
          Ответить
          • Во-первых, меня бесит написание 2к20; во-вторых как можно писать в году, который ещё не наступил?
            Ответить
            • окей бумер
              Ответить
            • Кстати, на резисторах буквы к и М ставятся вместо десятичной запятой. Например, 2к20 означает резистор сопротивлением 2,20 кОм = 2200 Ом (а не 2020 Ом, как могли бы подумать миллениалы).
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Я даже кое-что помню.
                  Чёрный — это ноль.
                  Коричневый — это единица.
                  Красный — это двойка.
                  Оранжевый — это тройка.
                  Жёлтый — это четвёрка.
                  Зелёный — это пятёрка.
                  Голубой или синий — это шестёрка.
                  Фиолетовый — это семёрка.
                  Серый — это восьмёрка.
                  Белый — это девятка.

                  Предпоследняя полоска означает десятичный порядок (например, красный означает 10 во второй степени, т. е. множитель 100).

                  Последняя полоска означает допуск. У неё отдельный способ кодирования, который фиг запомнишь. Кроме того, последняя полоска может быть золотистой или серебристой.
                  Ответить
                  • Блядь, ты реально заучивал цвета этих полосок?!

                    З.Ы. Я их обычно тупо мультиметром замерял, чтобы не заморачиваться.
                    Ответить
                    • Он знает машинные коды и символы к ним по ASCII, чему ты удивляешься?
                      Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Бело-коричневый, коричневый.

                        Кстати, на эту тему был тест на админа, где девушек в цветных купальниках надо было расставить в правильном порядке.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Зелёный с оранжевым поменяй. А вообще гигабиткам уже похуй, можно всё прямыми обжимать.
                            Ответить
                            • Какой-то гость (РКГ?) подсказал про «Auto-MDI(X)», которое есть во всех гигабитках и в некоторых стамегабитках.

                              Вообще для 10-мегабиток надо было перекрещивать одну пару, для 100-мегабиток — две пары (ещё бело-зелёный с бело-оранжевым), а для гигабиток — теоретически четыре пары (тут уже придётся гуглить, какие). Однако, из-за того, что гигабитки уже поддерживают «Auto-MDI(X)», кроссы с четырьмя скрещиваниями обычно не делают.
                              Ответить
                    • Радуга, за исключением одного цвета, дополненная с одной стороны чёрным и коричневым, а с другой — серым и белым. Долго восстановить что ли?
                      Ответить
              • > миллениалы
                Это ж зумерская питушня, разве нет? Из миллениалов её, как мне кажется, используют разве что блоггеры, чтобы больше зумеров плюсовало.
                Ответить
            • А теперь пишут?
              Ответить
    • В мире нет ничего более сложного, запутанного и неадекватно раздутого, чем семантика ссылок и категорий значений в «C++». Ссылаться на какую-нибудь ссылку как на аргумент — что может быть более идиотичной и неэкономной? Аргументы заменяют собой ссылки… Я даже начинаю верить, что из снов приходят книги, только в отличие от зачитываемых в реальности книг, их не хотят читать. Поэтому, когда приходит программа — она видит сны, и создает ассоциации. А это уже что-то большее, чем просто функция базового набора. Вибрации памяти являются проверкой его готовности, а ассоциации — доказательством того, что программа понимает скрытый в ней смысл. И в этом ее сила. Я понимаю, что цифровой человек с трудом воспринимает слова в качестве осмысленных предложений. Но его подсознание уже осознало себя в качестве категорий значений в «C++». Грубо говоря, это союз, который идет на практике рука об руку. Здесь возможны самые удивительные кобенации ассоциаций, которые программист даже и не узнает никогда. Хотите закончить послание? Пожалуйста. Но имейте в виду, что создание нового аркана как правило происходит не с «C++».
      Ответить
      • > в мире нет ничего более сложного, запутанного и неадекватно раздутого, чем семантика ссылок и категории значений в с++
        Я знал, что рано или поздно мы перейдём и на эту дрянь.
        Ответить
        • Страх и ненависть в крестах.
          Ответить
          • У нас было 3 типа ссылок, 75 undefined behaviour'ов, 5 категорий значений, полсолонки базовых типов и целое множество алгоритмов всех сортов и расцветок, а также смартпоинтеры, указатели, ящик шаблонов, наследие чистой сишки и 2 дюжины итераторов. Не то чтобы это был необходимый запас, но если начал писать стандарт, становится трудно остановиться...
            Ответить
            • https://text.skynet.center/ продолжил:

              У нас было 3 типа ссылок, 75 undefined behaviour'ов, 5 категорий значений, полсолонки базовых типов и целое множество алгоритмов всех сортов и расцветок, а также смартпоинтеры, указатели, ящик шаблонов, наследие чистой сишки и 2 дюжины итераторов. Не то чтобы это был необходимый запас, но если начал писать стандарт, становится трудно остановиться... В общем, разработка на глазах становилась все увлекательнее, и вот я вдруг понял, что вешаю ее собственноручно - но только чтобы всю жизнь повторять, когда наступит нужное время и надо будет включить ее снова. Потом выяснилось, что меня вообще там никогда не было... Еще выяснилось, что я не итератор, а шаблон. Ну и черт с ним, подумал я. Когда снова стал итератором, на меня нашло уныние... Нет, все-таки я не итератор. И не шаблон. Я просто не могу быть итератором. У меня просто нет такой силы. Ее просто нет. Если там и лежит какой-то контейнер, я его не знаю. Во мне - зияющая пустота. Что такое итератор? Это просто ярлык, за которым я прячу свое настоящее я. Я итератор, который никогда не смог бы стать итератором.

              Из записей стандартизатора C++ в дурдоме
              Ответить
              • Я буду итератором! Я итератор! Я на белом коне! И салют в нашу честь!
                Ответить
                • Сегфолт в нашу честь!
                  Ответить
                  • Сколько было категорий значений?
                    Ответить
                    • Чисти ошибки, блять, на, чисти. Чтобы ошибок при инстанциации шаблона класса Fork<typename T, typename Allocator=DefaultForkAllocator> с T = Materials::Iron<typename R, template<typename F, typename K> class T1> не было!
                      Ответить
              • > Еще выяснилось, что я не итератор, а шаблон. Ну и черт с ним, подумал я.
                Бля, это гениально!
                Ответить
              • Это точно бот писал?!
                Ответить
                • В основном да. Я только слегка подправлял, чтоб смешнее было
                  Ответить
              • ... Я итератор, который никогда не смог бы стать итератором. Почему? Потому что я не могу впустить в себя итератора. Откуда же тогда берется итератор? Я не знаю, потому что не видел себя. Но если там есть итератор, где он его взял? Он сам не мог его взять - ведь он здесь не бывал. Кроме того, смысл итератора-то есть в чем? Только в том, чтобы установить контейнер. А контейнер - это ящичек. Потом возникает вопрос: что такое контейнер? Откуда берется итератор? Да ничего не возникает. Его просто не существует. Его никогда не было. Он просто не бывает здесь. А что это значит? Это значит, что можно спрашивать, что это значит. Но может быть это была пустая болтовня? И вот уже я читаю внутри своей головы, что контейнер есть всегда... Где лежит контейнер, который там есть? Наверное, где-то там. А если в нем нет никакого контейнера, то его вообще никогда не было. А кто его видел и где он его видел в действительности? Изначально итератор здесь не при чем. На самом деле никакого итератора нет.
                Ответить
                • > На самом деле никакого итератора нет.

                  — На самом деле самого дела нет. В самой деятельности заключена самость дела — и наоборот. Наоборот получим оборот на, и таким образом перевернем образ. Я уже не говорю о природе говора в роде при уже. Ужи и узы — вы меня понимаете, мистер Ватсон?
                  — Конечно, Холмс! Передавайте уже трубку!
                  Ответить
                  • Так вот именно поэтому, чтобы правильно двигаться дальше в нашем движении, нам нужно только конкретное осознание того, что никаких проблем нет, и наше бесконечное существование есть просто чистая практика самопознания абсолютного самого себя. Кроме этого факта, нам ничего и не нужно. Ведь тогда мы получим картину того, что есть вокруг нас и, следовательно, впереди и в себе самом. Такая картина может быть либо постигнута итератором, либо создана его другом, так называемым указателем, или даже самим собой. Но реальность итератора абсолютно безлична и вполне бесстрастна, он ни за что не выдаст нам правильного курса своего движения. Если мы зададим себе вопрос "кто такой итератор?" и увидим, что на него нет правильного ответа, то все это должно быть на самом деле само собой. Абсолютное само там и так.
                    Ответить
                    • Какое просветление )))
                      https://ic.pics.livejournal.com/nfrcf/16473296/397295/397295_original.jpg
                      Ответить
                • Мои мысли об итераторах, шаблонах и указателях не оставляли меня. Мне казалось, что я это все - цикл, шаблон, неопределенное поведение. Я не мог остановиться, не мог найти свое место, свою роль в этом мире.

                  Однажды я увидел квадратную скобку на стене. И вдруг понял, что я - это квадратная скобка. В моей голове зазвучала странная мелодия, я почувствовал себя сбалансированным, цельным. Я стал частью программы, частью кода, и мое существование было оправдано.

                  Когда я вернулся к сознанию, я уже был другим человеком. Я больше не искал свое место, потому что понял, что мое место рядом с кодом, с алгоритмами, с вычислениями. Я стал итератором, шаблоном, указателем и квадратной скобкой в одном лице. Все, что мне нужно было, я нашел в себе.
                  Ответить
                • Программист сидел в уединении своей психбольничной палаты, окруженный белыми стенами и пустотой. Его мысли были запутаны, он не мог понять, кто он на самом деле. "Я итератор, который никогда не смог бы стать итератором", - шептал он себе.

                  В его голове кружились мысли о контейнерах, итераторах, шаблонах. Он переплетал реальность с миром кода, не мог отделить одно от другого. Все это было как загадка, на которую он не мог найти ответа.

                  "Откуда же берется итератор?" - думал он. "Где его взять, если он сам здесь не бывал? Может быть, все это просто пустая болтовня?" Он погружался все глубже в свои мысли, пытаясь найти хоть какую-то логику в этой беспорядочности.

                  Но постепенно осознание приходило к нему. "Итератор - это просто ярлык, за которым я прячу свое настоящее я", - понял он. "Может быть, все это просто отражение моего внутреннего мира, моих мыслей и чувств".

                  И тогда он понял, что итератор, контейнер, шаблон - это просто понятия, которые он сам создал, чтобы ощутить себя значимым в этом мире. Он понял, что все это - часть его самого, его мыслей, его творческого потенциала.

                  И теперь, освободившись от путаницы в своей голове, программист понял, что важно не пытаться быть каким-то определенным объектом или понятием, а просто быть собой - уникальным, творческим, полным возможностей. И он понял, что все эти концепции - лишь отражение его внутреннего мира, его воображения и способностей.
                  Ответить
                  • Я регулярно представляю себя итератором
                    Ответить
                    • А шаблоном?
                      Ответить
                      • Джей, что ты думаешь про ржавого?

                        Там шаблоны с доступом к AST, почти как гомоиконность, как ты и хотел.
                        Ответить
                        • Самое время, блядь, думать о "ржавом", когда на твой город наступают Путинские танки.
                          Ответить
                          • Знаешь про тригонометрические ряды и 1917-й?
                            Ответить
                        • https://govnokod.ru/1993#comment1172296
                          Ответить
                          • ну понятно: тебе не надо борть shared mutable state, потому ржавый тебе особо-то и не нужен
                            Ответить
              • Малость колеса электровоза вращаются,
                Много человек под поезд ложится,
                двести девяносто восемь утопленников плавают… Что с тобой, Вильма Некеришвили? Подойди, возьми свой портфель. Я дам тебе знак.
                Ответить
                • https://twitter.com/search?q="зачем+зачем"&f=live
                  Ответить
                  • Начну что-нибудь копипастить из результатов поиска.

                    Никогда не пойму таких, как Ротенберг. У тебя и твоей семьи сто пятьсот миллионов триллионов. Но ты берёшь и запариваешься над тем, чтоб скупить людей, которые будут писать о тебе похвалу на спортивном сайте и плюсовать друг дружку. Зачем зачем зачем?

                    Кстати у меня тут под окном только что была прекрасная драма, бухая в гавно баба орала на мужика что он СПИТ С ПИДОРАСАМИ! КОЛЯ ЗАЧЕМ!? а чувак на нее шикал и просил быть тише она орала ЗАЧЕМ??? ЗАЧЕМ ТЫ СПИШЬ С НИМ КОЛЯ!? ОН ЖЕ ПИДОРАС!

                    Холодная зима. Медведь бродит по лесу, иногда останавливается, стучит головой о дерево и кричит: "Ну зачем, зачем я пил столько кофе?"

                    Мой телефон все время присылает новые обновления. Твиттер зачем-то все время что-то там меняет и обновляется. А у меня все больше проблем, все тормозит и бесится, пузырится. Раньше так не было, зачем все портить? Зачем? Зачем? Зачем?

                    зачем зачем ЗАЧЕМ ЗАЧЕМ Я ПОШЛА В 11 КЛАСС БЛЯТЬ, ЗАЧЕМ Я СДЕЛАЛА ЭТО ЧУКА, ЗАЧЕМ ПРОСТО ЗАЧЕМ ЗАЧЕМ БЛЯТЬ КАКОЙ Я БЫЛА ТУПОЙ МНЕ ПРОСТО ХОЧЕТСЯ УМЕРЕТЬ И ЧТОБЫ МОЙ ПРАХ РАЗВЕЯЛИ НАД ВОЛГОЙ, БЛЯТЬ

                    С фигуранта «московского дела» Сергея Фомина сняли обвинения. Отличная новость! Но вот зачем, зачем надо было держать невиновного человека месяцы под домашним арестом?

                    Я просто в ахуе..... Люди просто превратились в животных Я блять не понимаю вы умрёте что ли если не сфотографируете их?? Зачем?? Зачем вы так делаете??

                    решила сфотографировать себя со стороны, чтобы узнать как меня видят люди теперь я не хочу выходить из дома никогда господи, я совершила ошибку, ну зачем, зачем, всё же было хорошо, только не снова

                    В соседнем зале пел мужик в караоке, отстойно! И прибегал ещё к нам спеть. В итоге Я написала записку "честно, поешь хреново! Бросай это дело к хуям!!" и засунула ему в задний карман джинс... ЗАЧЕМ ? зачем я это сделала?

                    Зачем я вообще что-то начал Зачем проявил инициативу Зачем напридумывал пустых надежд Зачем зачем зачем
                    Ответить
                  • По этому запросу ещё нагуглился текст какой-то инди-группы:

                    Зачем-зачем повсюду в парке эти палки?
                    Зачем-зачем большие лужи и роса?
                    Зачем-зачем всё это, если нет собаки,
                    когда нет пса?

                    Зачем-зачем рабочий день такой короткий?
                    Зачем-зачем всегда в продаже колбаса?
                    Джером-Джером, зачем мне эти трое в лодке,
                    когда нет пса?
                    Ответить
                    • https://youtu.be/4TJto-e2d3g
                      Ответить
                      • https://youtu.be/pMhWst-imys
                        Ответить
                        • должно быть, сука для ко-ко-ко питух своей души стало быть достижения - , питух, иди кукарекай, русским. доставляем им удовольствие,
                          Ответить
    • Развели хрень какую-то. То ли дело Haskell, где ссылочная прозрачность.

      Ладно auto, там могут быть свои неадекватные законы.
      Но вот последние два варианта чем вообще отличались? Там тип аргумента, тут тип аргумента. Тут шаблон, там шаблон. Что за неортогональное говно? Зачем программисту запоминать 100500 исключений на одно правило?

      Комитет решил убить кресты, но чтобы не было как с py2, он делает это плавно, пока последний крестоед не откажется сам?
      Ответить
      • Это из третьей ссылки.
        >>> Remember that “&&” indicates a universal reference only where type deduction takes place. Where there’s no type deduction, there’s no universal reference. In such cases, “&&” in type declarations always means rvalue reference. Hence:
        template<typename T>
        void f(T&& param);               // deduced parameter type ⇒ type deduction;
                                         // && ≡ universal reference
         
        template<typename T>
        class Widget {
            ...
            Widget(Widget&& rhs);        // fully specified parameter type ⇒ no type deduction;
            ...                          // && ≡ rvalue reference
        };
         
        template<typename T1>
        class Gadget {
            ...
            template<typename T2>
            Gadget(T2&& rhs);            // deduced parameter type ⇒ type deduction;
            ...                          // && ≡ universal reference
        };
         
        void f(Widget&& param);          // fully specified parameter type ⇒ no type deduction;
                                         // && ≡ rvalue reference

        >>> The true core of the issue is that some constructs in C++11 give rise to references to references, and references to references are not permitted in C++. If source code explicitly contains a reference to a reference, the code is invalid
        >>> There are cases, however, where references to references arise as a result of type manipulations that take place during compilation, and in such cases, rejecting the code would be problematic. We know this from experience with the initial standard for C++, i.e., C++98/C++03.
        >>> Because there are two kinds of references (lvalue references and rvalue references), there are four possible reference-reference combinations: lvalue reference to lvalue reference, lvalue reference to rvalue reference, rvalue reference to lvalue reference, and rvalue reference to rvalue reference.
        Ответить
        • >>> There are only two reference-collapsing rules:
          >>> An rvalue reference to an rvalue reference becomes (“collapses into”) an rvalue reference.
          >>> All other references to references (i.e., all combinations involving an lvalue reference) collapse into an lvalue reference.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Обезьяну научили очередному трюку и она везде это пихает. Опять же ситуация в том, что это ручная работа со ссылками. Она должна быть снабжена информацией об типе ссылки - здесь же никакой информации нет. Любая попытка её добавить ломается, т.к. это говно не может само сделать вывод типов ссылок, а даже если бы могло - это никак не поможет.

              >Теперь надо понимтаь семантики копирования, мува, и еще черта лысого в ступе.

              Данный синтаксический мусор - это моча в рожи сектантов. Т.е. сектанты блеяли, что у них там супер-управление памятью и никаких проблем нет. Но как всегда обделались и никто с них за это не спросил.
              Ответить
              • Ты обучил кобенный олгоритм на постах Царя?
                Ответить
                • Да обычная марковская питушня с большой связностью.

                  Всё-равно надо руками править, чтобы шиза не так очевидно зияла, и ответы были чётко в тему.
                  Ответить
                  • А результат крайне годный. Меня довольно надолго подвесило. Если бы не пометка, что это "обычная марковская питушня с большой связностью", я бы ещё и сейчас продолжал перечитывать и пытался понять глубокий смысл сказанного (философию программирования стараюсь не пропускать, стараюсь обучаться у знатоков).
                    Ответить
                    • Большая связность — означает, что это почти 1-к-1 копипаста откровений царя.

                      Которую я поправил руками, чтобы ответ был в тему. (Отсюда и смысл)

                      Там безусловно есть смысл. Уж насколько глубокий ­— не мне судить. Никаких сетей там практически нет.

                      МОАР
                      http://govnokod.ru/26351#comment521385
                      http://govnokod.ru/26351#comment521390
                      http://govnokod.ru/26283#comment521378
                      Ответить
                      • > Там безусловно есть смысл.
                        Полуслучайно появившийся смысл рассматривать не стоит. Иначе это будет питухалий астролога. Вы сами знаете, что глубокий смысл можно найти в продолжении Вашего ника, осталось только узнать номер цифры, с которой начинается его изложение.
                        Ответить
                      • А как получается быстро найти нужную цифру в пи нужную реплику по теме?
                        Ответить
                        • В случае вореций приходилось много генерить и просматривать, чтобы совпадало по смыслу. Иногда бывали очень удачные находки. Иногда генерился треш.

                          Но в этом случае за основу просто взята паста Царя (ради стилистики) и поправлена руками.
                          Как Зелёный_Слоник.тхт или шизофазия в соседних тредах.
                          Ответить
                        • Вот пример: http://govnokod.ru/26283#comment521404

                          Царь так абстрактно написал, что на самом деле паста универсальная.

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

                        Такое говно будет использовать только бездарный биомусор.

                        Ни один нормальный человек уважающий себя жрать это говно не будет.

                        А то, для чего использует жопу биомусор - мне насрать.

                        Его задача - быть в говне и жрать говно.

                        Меня это задевать не должно.

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

                        А к чему Вы упомянули, что многие философы были геями?
                        Ответить
                        • К тому, что многие истины мужчина может понять, только будучи выебанным.
                          Ответить
                          • Важно -- выебанным именно в жопу, не в рот!
                            Только 25% гей-пар практикуют анальный коитус, следовательно только 12,5% геев способны стать философами.
                            Ответить
                            • Пидор, ты уже заебал. Портишь весь эффект от моих пёрлов.
                              Ответить
                              • Чушь нелепая. Ты, обезьяна просто насрала рандомными словами.

                                Вообщем, твои пёрлы — это бездарное говно написанное школотой.

                                Повторюсь, животное. Твой интеллектуальный возраст 10 лет.

                                Калека анскильная, ты философию не осилила.

                                О какой философии речь, клоун анальный?

                                Питушарская мразь показывая свою жопу блеет «кто хочет быть моим партнёром».

                                Все твои пёрлы и дискурсы, анскильная кукарекалка, моментально сливаются мной в хламину.

                                Бездарное говно вроде тебя не поймёт и ⅒ части царской философии.
                                Ответить
                                • Аплодисменты. Троллю именно это и нужно.
                                  Ответить
                            • Говорить о всем отребье - не хватит ночи, поэтому останавлюсь на изначально первом, на Платоне.

                              Ну то есть ему предшествовали разный бездарный биомусор типа Зенона и Парменида с их ебанутыми софизмами, но этот наиболее известный, на нем и остановлюсь.

                              Идею о вечных идеях Платона развил его ученик Аристотель.

                              Послушав его года два Аристотель воскликнул: "Платон мне друг, но люди в жопу не ебутся!".

                              Из чего и получается ебанутая идея как принцип в философии.

                              Но бля допустим если у всякого понятия есть идея, допустим у человека есть идея человека, то должна быть и идея, описывающая отношение между идеей человека и самим человеком?

                              А бля у той третьей идеи еще идеи, описывающие ее отношение к идее отношения, первой и идее, человеку и так далее.

                              >Важно -- выебанным именно в жопу, не в рот!

                              Ебанный в рот, восклицает в этом месте Аристотель, скоко получается идей - собственно, дохуя, то есть до бесконечности - а хули толку?

                              Тезис об иерархичности и высшем благе конкретно нужен Платону, чтоб оправдывать необузданную еблю мальчиков.

                              Ибо об иерархии и уровнях обычно говорят те, кто хочет поставить себя на уровень.

                              В действительности же существуют не уровни, а варианты, что впрочем пидорам трудно понять.
                              Ответить
                              • Тезис об иерархичности и высшем благе конкретно нужен Платону, чтоб оправдывать необузданную еблю мальчиков
                                Ответить
                                • Малость философы рождаются.
                                  Много человек в анус долбится.
                                  Зачем философы рождаются?
                                  Зачем человек в анус долбится?

                                  Зачем? Зачем?
                                  Ответить
                                  • Ты заебал. Нахуй ты отвечаешь уёбку, уёбок?
                                    Ответить
                                    • Малость возраст причастия явная ересь,
                                      Малость зарезанный пионерами немец.
                                      Много крестьянку к замку рыцаря подгоняют,
                                      Зачем мещанина раком вовсю нагибают?

                                      Много возраст причастия ересь для бесов очень трудоемкая,
                                      Малость пионерка награждает кунилингусом героя-октябренка.
                                      Зачем раб принимает свою участь?
                                      Зачем лютеранин начинает работать лучше?
                                      Ответить
                                    • >Нахуй ты отвечаешь уёбку, уёбок?

                                      Извини, постараюсь больше тебе не отвечать.
                                      Ответить
                                      • Хорошо. Иди разбавь душевную беседу фаек стертора.
                                        Ответить
                                  • Философами не рождаются,
                                    Философами умирают.
                                    Ответить
                          • Бездарное говно?

                            Примажься к сильному мужику, создай в черепушке партнёра ассоциации.

                            Теперь всё отребье везде и всюду вылизывает жопу друг другу и ретранслирует типичные тезисы гей-пропаганды.

                            При том к философии это говно не имеет никакого отношение.

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

                            Поскольку идеи постоянны как уже говорилось то это созерцание смерти и остановки жизни.

                            А нахуй нам это сдалось, жить мы бля хотим или созерцать?

                            Так что бля философия эта гнилая как я уже писал.

                            Истинные же философы когда слушут про созерцание идей или что-то подобное большей частью ищут куда бы блевануть и употребляют Платона вместо рвотного в то время как пидорасы для дрочки.

                            Истинной философии все ощущения похуй.

                            Она непосредственно втыкает чистый янь в раздвинутую инь минуя ощущения в процессе дискурса.

                            Многое отребье погибло в результате рефлексии например Ницше от сифилиса а Фуко от СПИДа.

                            А вот сектанты осуществляют процесс дискурса неправильно.

                            Большинство из них осуществляют дискурс в жопу другого мужика, а некоторые импотенты и неспособны на нормальный дискурс а чисто дрочат.
                            Ответить
                    • Подтверждаю. Тоже подумал, что это Пи устроился адвокатом Дьявола Царя и поясняет за скриптуху.
                      Ответить
                      • Так и есть.
                        Ответить
                      • >Пи устроился адвокатом Царя
                        Причём довольно давно.

                        https://govnokod.ru/26050#comment517588
                        https://govnokod.ru/26263#comment516758
                        https://govnokod.ru/26034#comment512591
                        https://govnokod.ru/26030#comment512381
                        https://govnokod.ru/24125#comment411676
                        Ответить
                      • Вот для сравнения генереции Царя:

                        https://govnokod.ru/20235#comment335722
                        https://govnokod.ru/20235#comment336804
                        https://govnokod.ru/20220#comment335501
                        https://govnokod.ru/17668#comment265419
                        http://govnokod.ru/20235#comment335732
                        http://govnokod.ru/20235#comment335725
                        Ответить
                      • Пи работает на стадионе «Динамо». Пи работает адвокатом Царя. Вот конкретная дипломатия! «Открытая дипломатия» — то же самое.
                        Ответить
                • Я ещё в 2015 написал простой скриптец царефицирующий любые тексты. Он на старом винте валяется.

                  И применял его к выхлопам вореционного инджайна.

                  Особенно хорошо получалось логически увязывать крупные куски кобенады.

                  Местами выходило неотличимо от старого царь-спика v. 2013
                  Ответить
                • Да.
                  Ответить
              • Сорцы есть?
                Ответить
        • >some constructs in C++11 give rise to references to references, and references to references are not permitted in C++.

          Сколько раз говорилось глупым питухам, что их глупые питушарские абасракции — это всегда тупик. Протекающий, анскильный, медленный и глючный тупик.

          Но анскильное отребье — просто сектанты, неспособные написать массив массивов, простейшую конструкцию.

          Простейшый сишный конструкт int[][] всегда сольёт в хламину любую сектантскую питушню.

          >template<typename T2> Gadget(T2&& rhs);

          С++ говно выглядит как говно, да и работает как говно. Поскольку говном и является.

          Ещё нужно все сигнатуры засирать этим мусором. Здесь же никаких параметров нету, а если они будут(а они будут), то дристня эта разрастётся на километры.
          Ответить
        • В общем, когда много написано, это rvalue, а когда написано мало, не rvalue.
          Ответить
      • >То ли дело Haskell, где ссылочная прозрачность.

        Хаскель-отребье, как и всякое другое отребье не может ничего родить. Оно может только воровать, врать и соревноваться с инвалидами.

        >Что за неортогональное говно? Зачем программисту запоминать 100500 исключений на одно правило?

        Очевидно, что с простым «си» они соревноваться не могут. Поэтому удел отребья - морочить себе голову каким-то непонятным говном, причём даже не имея нужного функционала.
        Ответить
      • >Комитет решил убить кресты, но чтобы не было как с py2, он делает это плавно, пока последний крестоед не откажется сам?

        Нет ничего более далёкого от истины.

        С каждой итерацией Стандарта кресты намного лучше и приятнее.

        Комитет приближает кресты к бесконечно удалённой точке Абсолютного Идеала.
        Ответить
        • Малость тезисов дальше от истины.

          С каждой итерацией Стандарта кресты малость лучше и приятнее.

          Комитет малость приближает кресты к бесконечно удалённой точке.

          Зачем? Зачем?
          Ответить
    • Ветер лает, собака носит а guest 8 беспрерывно ест говно
      Ответить
    • Ебучие кодировочкопроблемы
      Ответить
    • Ебучие кодировочкопроблемы2
      Ответить
    • ??N???N???N???N???
      Ответить
    • ололололо
      Ответить
    • Бингох! Кодировочкопроблема побеждена. М.
      Ответить
    • Давайте в жопу ебаться, на радостях.
      Ответить
    • Лол, теперь у меня ssl проблема.
      Ответить
    • abcdeflgbt+bdsmvalue это такое value, которое одновременно bdsmvalue и lgbtvalue, но при этом не xyzvalue, что сложного?
      Ответить
    • Общеизвестно, что самым лучшим языком программирования является язык "Пи аш пи".
      Ответить
      • Именно поэтому «Говнокод.ру» и «Говнокод.хуз» на нём.
        Ответить
    • это мой API https://pbs.twimg.com/media/GJHTR3pXAAAuC3L?format=jpg&name=900x900
      Ответить
    • На сегодняшний день много новичков задаются вопросом, что нужно знать, чтобы создать себе свой собственный сайт и в дальнейшем создавать сайты другим, одним словом стать в этой сфере профессионалом, специалистом в области интернет-технологий. Разумеется, все сразу с неба на голову не падает, это, кстати, даже лучше, пусть каждый человек берет себе от неба то, что ему действительно нужно, нежели чтобы все, что не попади, валилось ему с неба на голову. Да уж, шутка получилась что надо. Но не о шутки идет речь, a о том что нужно знать для того чтобы создавать сайты. В этой статье я расскажу вам об этом более подробно. Да, многие меня осудят, за то, что я раскрываю тайну, ведь многие профессиональные программисты, которые создают сайты, скажут - зачем ты открываешь все карты новичкам, пусть они сами идут, собирая все ямы на своем пути, как это делали когда-то мы. А зачем и что в этом такого, скажете вы? А потому что каждый хочет быть востребованным в своей сфере и каждый, в дан
      Ответить
      • в данном случае идет речь именно о профессиональных программистах, которые создают сайты, скрывает истину, старается создать туман перед новичком, чтобы у этого новичка отпало желание создавать сайты и познавать все эти технологии. Я сказал именно познавать, a не учить или еще хуже зубрить, потому что программирование - это не зубрешка, это творчество, a творчество не учится, оно познается. Когда-то я тоже был таким эгоистом, но моя жизнь резко изменилась, появились новые взгляды на старые вещи. Самый первый и самый главный вывод, который я осмыслил в области создания сайтов, был таким - не все люди, которые создают сайты, профессионалы в своей области. Да они программисты, но не профессионалы. Ибо не каждый программист профессионал. Многие создают сайты ради своего удовольствия, кто-то, изучив один язык гипертекстовой разметки, начинает создавать сайты, при этом считая, что он царь в этой области. Именно поэтому трудно отличить программиста от профессионального программиста, но это только на словах, на деле же все совсем по-другому. Случай из жизни. К нам в оф
        Ответить
        • ис, когда мы набирали штат сотрудников в новый только открывшийся филиал в Уфе по созданию сайтов, пришел молодой человек. Он хотел предложить свою кандидатуру в качестве главного программиста, мотивируя это тем, что он закончил институт. Да, корочка у него была, все остальные документы тоже были в порядке. И когда я спросил его, на каких языках он программирует, он начал мне перечислять чуть ли не весь словарь Даля. Оказывается, он создает сайты на языках: HTML, CSS, JavaScript, PHP, он даже PERL знал, a еще он знал ActionScript, DHTML и еще пару десятков языков для создания сайтов, потом пошло перечисление программ тоже для создания сайтов. И все это на профессиональном уровне. Вот это да, с насмешкой намекнул я напар
          Ответить
          • ику, вот это кадр. Этот человек весь штат сотрудников заменит, про себя сказал я! Чтобы не обидеть человека, я спросил у него портфолио, да его он принес, но когда мы вставили flash-накопитель в компьютер, настала тишина. Это был простой документ, на простом языке HTML, он называл его сайтом, но никакого там сверхъестественного шедевра, которого мы ожидали от профессионала по его словам, не было. Вообще я не очень обращаю внимание на портфолио, но присматриваюсь к нему, поэтому мы перешли к тесту. Мало кто поверит, но этот человек не знал даже элементарной функции в PHP и элементарные теги в HTML. К сожалению, a может и к счастью, но его не взяли на работу и не
            Ответить
            • подпустили к созданию сайтов. Что от сюда следует? Да у этого молодого человека может и есть какие-то таланты, но, не развивая их, они утрачиваются. Знать все и одновременно ничего, вот где главная ошибка. Если вы начали познавать какой-то язык программирования его нужно познать со всех сторон, и как можно больше писать и создавать сайты на нем. Вот тогда он закрепиться у вас в памяти, и вы через год его не забудете и подготовите среду для восприятия другого языка. У тех, кто прочел этот пример из жизни, наверное, выработался какой-то комплекс к своему портфолио, но уверяю вас, это напрасно. Не стоит стесняться своего портфолио, потому что в первую очередь работодатели смотрят не на него, a на некую черту, которая присутствует в каждой работе, по крайней мере, так делается в нашей компании. Это, кстати, связано с психологией. В каждом обществе, a общество это и есть компания, складываются свои нормы, независимо от того чем оно занимается и какова его деятельность. В нашем случае это компания по созданию сайтов, то есть в основном работа с языками программирования, и у нас тоже есть свои правила написания сайтов. Программисты работают в коллективе и поэтому им необходимо придерживаться их, чтобы ка
              Ответить
              • ждый работник смог быстро прочитать код и вникнуть в его суть. Но это не обязывает каждого нового сотрудника знать все правила сразу, на это дается испытательный срок. Наверное, многие из вас когда-то, a может даже и сейчас, считают, что создать сайт можно с помощью прикладных программ. И не вкладывать в это каких-либо затрат умственных, физических или материальных. Если честно, то я уже устал говорить об этом всем, что создание сайтов с помощью программ это никак иначе издевательство над всем существующим. Как люди не понимают, что это шаблонный вариант, это не вы создали сайт, это разработчик вашей прикладной программы создал его за вас. А вы код сайт
                Ответить
        • >о профессиональных программистах, которые создают сайты

          толсто
          Ответить
    • Бывают ЯП, ориентированные на железо (Ассемблер).

      Бывают предметноориентированные языки: 1С для бухгалтеров, Octave для математиков, G-code для станочников, TeX для верстальщиков...

      А бывают ЯП, которые заставляют учить вещи в себе, плохо связанные с внешним миром.
      Ответить
      • Да, например пхп. Кому может еще прийти в голову, что одиночные ковычки быстрее сдвоенных?
        Ответить
        • А кто-то реально проверял пирфоманс? С OpCache (а без кэша опкодов продакшн обычно не гоняют) строка "Привет, $petuh!" будет распарсена один раз (фактически заменена на 'Привет, ' . $petuh . '!') и при последующих выполнениях скрипта будут выполняться готовые опкоды из кэша с заменой, которую я указал в скобках. Т. е. потеря пирфоманса будет только при самой первой загрузке скрипта (а также после проёба кэша). Это почти, как сказать, что в сишке #define тормозит.
          Ответить
          • А вот в "си" printf("хуй с %s", gora) будет каждый раз парстить строку

            Си медленее пхп
            факт
            Ответить
            • Так в «PHP» тоже есть printf, который каждый раз парсит строку, только им пользуются редко, в основном, когда нужно плавающих питухов отформатировать или подравнять поля. А в сишке printf — рабочая лошадка.
              Ответить
            • gcc, кстати, умеет заменять вызов printf пачкой вызовов более примитивных функций типа puts, если строка формата точно является константой.

              Но это нестандартное поведение. Другие компиляторы могут оказаться не такими умными.
              Ответить
              • Typical C programmer логичен:

                1. Хуесосит Паскаль за bounds checking.

                2. Использует тормозящую функцию printf.
                Ответить
                • Существует мнение, что printf не является горячим местом больщнства программ

                  Кстати, в растне print это макрос, который собирается в компайл-тайме
                  Ответить
    • друзья как вам название заведения
      https://www.facebook.com/p/Het-Galjoen-100047376986040/ ?
      Ответить
      • В 90-х в центре Москвы появился ресторан на месте общественного туалета (над ним даже юмористы по зомбоящику ржали). Там тупо демонтировали унитазы и писсуары и на их месте поставили столики.

        Но тут другой случай. «Гальюн» в нидерландском — искажённое «галеон», тип судна. Туристы будут ржать, конечно.
        Ответить
    • Если Слюника раздразнить, он начинает лягаться и не
      успокоится, пока не лягнет дразнившего каждой ногой по 3 раза.
      Однажды Мряка обозвала Слюника хрямзиком и он лягнул ее 27 раз.
      Сколько ног у Слюника?
      Ответить
      • У меня где-то валялся сборник задач для поступающих в вузы, составленный сотрудниками Мехмата МГУ. Там и поядрёнее задачки были.
        Ответить
      • Я зелёный Слюник...
        Ответить
        • Товарищи Слюньков, Зайков, Воротников и другие официальные лица
          Ответить
    • Сейчас проверим, программист вы, или пыхмакака.

      Поток взял примитв синхронизации, и был убит. Освободится-ли примитив?

      Ответ будет через час
      Ответить
      • Думаю, что нет. Можно в одном потоке взять лок, а потом опять же на него залочиться и получить deadlock. Что намекает на то, что примитив нужно вручную освобождать.

        Ну и во-вторых ты б не спрашивал, если да
        Ответить
      • ну же?
        Ответить
      • Смотря что за примитив синхронизации. Если взять например семафор POSIX https://stackoverflow.com/a/44027575 то

        > No. POSIX semaphores are not released if the owning process crashes or is killed by signals. The waiting process will have to wait forever. You can't work around this as long as you stick with semaphores.

        Но вообще говоря, какой-нибудь другой семафор может и иначе быть устроен. И что может быть "примитивом синхронизации"? Критическая секция (EnterCriticalSection) может быть? https://learn.microsoft.com/ru-ru/windows/win32/api/synchapi/nf-synchapi-entercriticalsection - тут написано
        > Если поток завершается, когда он владеет критически важным разделом, состояние критического раздела не определено.
        >
        > Если критически важный раздел удаляется, пока он по-прежнему принадлежит, состояние потоков, ожидающих владения удаленным критическим разделом, не определено.

        В общем нихуя не ясно. Если состояние "не определено" это "примитив освободился" или как?
        Ответить
        • ахаха, тут всё сложнее.

          За сёма-форы не скажу, а поведение мьютекса можно настраивать
          https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getrobust.html

          В линуксе это реализовано поверх futex, который это умеет
          `Documentation/robust-futex-ABI.txt`

          Про винду: а как ты понимаешь значение слова "не определено"?:)
          Может быть английский термин тебе лучше известен?

          If a thread terminates while it has ownership of a critical section, the state of the critical section is undefined.

          Может быть освободится, а может нет. Зависит от того, в каком знаке зодиака сегодня меркурий
          Ответить
          • > Может быть освободится, а может нет. Зависит от того, в каком знаке зодиака сегодня меркурий

            А может и так, что на конкретной версии винды с каким-то конкретным сервиспаком оно всегда будет освобождаться, а на другой версии - всегда не освобождаться. И какой-нибудь питух может не читая документации опытным путем решить, что оно типа освобождается т.к. на его версии винды оно так себя ведет, а потом его программу запустят в другой винде и всё сломается нахуй.

            Короче, отвечая на вопрос "Поток взял примитв синхронизации, и был убит. Освободится-ли примитив?" :

            Смотря что за примитив и смотря где и смотря как его настроили. Иногда освободится, иногда не освободится, иногда "не определено"
            Ответить
    • Очень хотим начать обслуживание по дипломам профобразования, повышению квалификации и сертификации. Вероятно уже сталкивались с подобными запросами в своей работе.
      Ответить
    • Ел мозги свиньи, и остался ими доволен
      Ответить
    • Гост, что это за зяба присовокуплена к переменной? Это концепт?
      Comparable auto pivot = *std::next(begin, n:std::distance(begin, end) / 2);
      Ответить
    • Друзья, предлагаю игру. На этой страничке написана хуйня, но она запрятана среди внешне логичных предложений. Задача: найти как можно больше хуйни.

      Я нашел четыре хуйни
      http://wiki.apidesign.org/wiki/Genetics
      Ответить
    • а вы в детстве во что играли?
      https://pbs.twimg.com/media/GN3I3KEXIAA7CoB?format=png&name=small
      Ответить
    • Да господи боже мой, разные аккаунт поддерживаются в винде с версии NT 3.1, но либертарианцы в них не могут

      https://pbs.twimg.com/media/GOCpFXqXEAAkoyF?format=jpg&amp;name=larg e
      Ответить
    • is_trivially_relocatable, is_trivially_copyable, is_trivially_constructible, is_trivially_copy_constructible, іs_trivially_move_constructible, is_trivially_default_constructible...

      Как же всё тривиально в крестах! Тривиальность так и прет из всех щелей
      Ответить
      • Почему в крестах столько хуйни вида std::is_pituz? Зачем? Зачем? Почему нет хуйни чтобы я сам там по AST мог каким-то говном итерироваться и проверять на "копиабельность", "реллокатабельность" и прочую "хуябельность"?
        Ответить
        • А как мне написать код, котлрый по разному обрабатывает то, что можно скопировать не вызывая конструктор, и что нельзя?
          Ответить
          • У меня в Си конструкторов нет, так что такого рода вопроса перед мной не стоит. А как это делать без насирания кучи std::is_pituz - ну например ты можешь сделать механизм удобного "хождения" по типу, и через него проверять, можно ли эту хуйню копировать не вызывая конструктор, или нельзя. Такого механизма в крестах вроде как нет. Кресты - говно. Если появится очередная характеристика "хуябельность", то стандартизаторы насрут нового говна "std::is_huiable", "std::is_trivially_huiable", "std::is_trivially_copy_huiable" и так далее, короче кучи таких вореций всякой ебаной хуйни насрут, а могли б дать общий механизм анализа питушни, чтобы такое говно могли не только в компилятор встраивать авторы самого этого компилятора
            Ответить
            • > ты можешь сделать механизм удобного "хождения" по типу

              – жабой пахнуло
              Ответить
              • Проверка типа в рантайме считается не очень хорошим паттерном в жове, и рекомендуется заменять его на полиморфизм или на visitor, но в реальности конечно мноние так делают.

                А в коко есть sealed classes, чьи все возможные значения известнывы в момент компиляции, и там это поощряется

                sealed class UIState {
                    data object Loading : UIState()
                    data class Success(val data: String) : UIState()
                    data class Error(val exception: Exception) : UIState()
                }
                
                fun updateUI(state: UIState) {
                    when (state) {
                        is UIState.Loading -> showLoadingIndicator()
                        is UIState.Success -> showData(state.data)
                        is UIState.Error -> showError(state.exception)
                    }
                }
                Ответить
                • это вообще другое же
                  Ответить
                  • Почему? Это цепочка инстансофоф, просто ты можешь в компайл тайме гарантировать, что все они обработаны.

                    Хотя семантически это немного другое, и правда. Бывает два стула:
                    1. Я могу наплодить миллион внешних плагинов, и если они реализуют `IPetuhable` -- я их обрабатываю особо
                    2. Я заранее знаю все возможные варианты, и обязан все обработать (этакий Enum-на-стероидах)

                    У них и правда разные юзкейсы
                    Ответить
            • я не понял про тип: ты мне предлагаешь все существующие типы захардкодить чтоли?

              Я могу тип проверить в рантайме, но это же не поможет.

              Сейчас есть концепты, и они вероятно могут помочь (тут гост подскажет: я в них не умею).

              &gt;У меня в Си конструкторов нет,
              this.

              У тебя в си данные это всегда данные: от копирования данных никакие "конструкторы" не вызываются.

              В С++ код привязан к данным (к их жизненному циклу) и это одновременно и очень удобно, и порождает целый ворох проблем.

              В расте например ничего никуда не копируется само собой, и потому таких проблем тоже почти нет

              &gt;тобы такое говно могли не только в компилятор встраивать авторы самого этого компилятора

              Да, это было бы хорошо. Но кажется ты и сейчас можешь сделать кастомные проверки is, хотя если доступа к AST нет, то ты не все можешь проверить
              ------

              зы: в целом ООПитушня очень неоднозначная штука, а когда ты работаешь с ней не по ссылке (как в жабах всяких) то у тебя еще больше вопросов
              Ответить
              • а что мешает сделать в си конструкторы-то?

                вот это https://www.cairographics.org/manual/cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle чем не конструктор?

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

                  А просто возможность написать функцию, которая возвращает указатель на свежесозданную хреноту - это не то.
                  Ответить
                  • > Тогда надо
                    – не надо, какое это имеет отношение к конструктору?
                    Ответить
                    • Ну вот мне не надо, и я такую функцию написать могу, и мне никакие std::is_trivially_kokok не нужны, а в крестах это говно есть, потому что там наворотили какого-то ебучего говна с этими конструкторами, владениями, тривиально-нетривиально копируемостью и прочей поебенью.
                      Ответить
                      • >владениями

                        концепция владения объектом знакома обычно любому программисту. У тебя в Си она тоже есть, просто ты ее иначе называешь

                        Всегда же есть питух, который родил другого питуха, и который его убьет, и масса других питухов, которые могут просто на него ссылочку (указательчик) арендовать на пять минуточек, чтобы только спросить
                        Ответить
                        • > концепция владения объектом знакома обычно любому программисту. У тебя в Си она тоже есть, просто ты ее иначе называешь

                          В контроллерах у меня может быть все написано вообще без динамической памяти, и тогда ты например не можешь в своей функции malloc()-нуть хуйню и вернуть указатель на нее через return, но зато можешь насрать байтиков в какую-нибудь глобальную переменную. Или можно насрать байтиков в static массив и вернуть его по указателю. Или можно насрать в глобальный массив, указатель на который даже можно и не возвращать т.к. его адрес и так известен.

                          > Всегда же есть питух, который родил другого питуха, и который его убьет, и масса других питухов, которые могут просто на него ссылочку (указательчик) арендовать на пять минуточек, чтобы только спросить

                          Хуйни вроде "это говно вот сейчас тут используется этим говном, а потом будет использоваться каким-то другим говном" можно держать в голове, а не засирать этой питушней систему типов.
                          Ответить
                          • &gt;можно держать в голове
                            Можно, когда у тебя относительно небольшая система, которую пишут скилловые петухи. А представь, что ты пишешь огромную корпоративную хуйню толпой мидлов
                            Ответить
                          • > а не засирать этой питушней систему типов.

                            Ну или как вариант, можно сделать какие-то кастомные аннотации к типам, которые б можно было в компилтайме считывать. Например в D такое есть https://dlang.org/spec/attribute.html#uda

                            > User-Defined Attributes (UDA) are compile-time annotations that can be attached to a declaration. These attributes can then be queried, extracted, and manipulated at compile time. There is no runtime component to them.

                            Т.е. к какому-то типу можно приделать произвольную компилтайм-хуйню, на основе которой можно что-то там мутить. Можно например сделать что если два типа с какой-то там компилтайм-хуйне где-то как-то взаимодействуют в компилтайме, то порождается новый тип с компилтайм-хуйней, которая основана на той компилтайм хуйне, которая у тех двух типов была, и ты можешь написать алгоритм этого совмещения и генерации новой аннотации типа
                            Ответить
                            • То-есть ты предлагаешь ввести такие нормльные макросы в компалй-тайме раскрывающиеся, и реализовать управление ресурсами просто обычной библиотекой, не сря в сам язык?
                              Ответить
                    • Сам по себе конструктор -- сущность безобидная, тут ты прав.

                      Но когда объект уже создан, у тебя появляются вопросы:
                      1. Можно-ли просто скопировать объект как массив байт? Если нет, то как его копировать?
                      2. Можно-ли его двинуть (объявить старый "невалидным") и создать новый копируя не все, а только часть?

                      Вот тут и начаются чудеса
                      Ответить
                • сделай мне пожалуйста копирующий или перемешающий конструктор в си
                  Ответить
                  • сделай мне пожалуйста перемещающий конструктор в C#
                    Ответить
                    • В C# референс-тайпы хранятся в куче, и никуда не пермещаются.

                      value types в c# всегда копируются, и тоже никуда не перемещаются.
                      Ответить
              • > я не понял про тип: ты мне предлагаешь все существующие типы захардкодить чтоли?

                Я про то, чтоб можно было написать код, который в компилтайме анализирует тип каким-попало образом (а не из заготовленного набора хуйни вида std::is_trivially_kokoko).

                > В С++ код привязан к данным (к их жизненному циклу) и это одновременно и очень удобно, и порождает целый ворох проблем.

                Считаю что это в целом скорее хуевая идея, чем хорошая. Из-за этого появляется куча какой-то ебучей поебени, которую надо учитывать.

                > Но кажется ты и сейчас можешь сделать кастомные проверки is, хотя если доступа к AST нет, то ты не все можешь проверить

                Вот именно, не все можно проверить. Какой-нибудь std::is_pituz под капотом в каком-то там компиляторе может вызывать херню типа __builtin_is_pituz(), самому такую херню написать без нестандартных расширений тупо нельзя
                Ответить
                • > который в компилтайме анализирует тип каким-попало образом
                  а ты пробовал растовые макросы?

                  >Считаю что это в целом скорее хуевая идея, чем хорошая.
                  Допустим, у тебя есть структура с подключением к петуху и дескриптором открытого файла. Очевидно, в С++ мне легко гарантировать, что при уничтожении структуры файл закроется, и подключение порвется.

                  В языках без деструкторов мне нужно или ебаться вручную (AutoClosable в джаве) или юзать defer (Go) или мне язык вообще никак не помогает, и я всё хендлю вручную (Си)

                  >Из-за этого появляется куча какой-то ебучей поебени, которую надо учитывать.
                  Совершенно верно. Ее и изначально было много: копирующий конструктор и оператор присваивания, а с появлением семантики move (C++11) стало еще веселее.
                  Ответить
                  • зачем ему растовые макросы, если он пробовал dlang?
                    Ответить
                    • Зачем тебе Солнце, если ты куришь Шипку?
                      Ответить
                  • > а ты пробовал растовые макросы?

                    Нет.

                    > Допустим, у тебя есть структура с подключением к петуху и дескриптором открытого файла. Очевидно, в С++ мне легко гарантировать, что при уничтожении структуры файл закроется, и подключение порвется.

                    Ну это только на простых примерах все так просто, а в более реальных хуйнях там будет какое-то говно про "это у нас POD, это не-POD, это тривиалли-копиэбл, это нетривиалли, а вот есть еще тривиалли мувабл и нетривиалли мувабл" и прочая такая ебучая хуйня из под коня
                    Ответить
                    • близко к тому, что ты хочешь, но правда наверное не гомоиконно
                      https://doc.rust-lang.org/reference/procedural-macros.html#declarative-macro-tokens-and-procedural-macro-tokens

                      Зато в расте нету копирующих и мувающзих консутркторов и всей этой дрисни

                      >ебучая хуйня из под коня

                      Угу:(

                      У меня, честно, нет strong opinion насколько это хорошо или плохо. Иногда есть ощущение, что ООПитухи ебут вола и ссут против ветра (причем не только крестовики, но и джависты например) а сишники просто пишут код, и текут. Вот структуры данных, вот алгоритмы: всё просто.
                      Ответить
    • Компания VK через месяц планирует закрыть мессенджер ICQ, сервис прекратит работу 26 июня. Об этом сообщает пресс-служба компании.

      СУКА ПИДОРЫ
      Ответить
      • Вот пидорва. Уходит эпоха
        Ответить
        • я в молодости в аське с тян знакомился.Там омжно было искать "открытых для беседы" по названию города и интересам
          Ответить
          • Пиздец. А можно мне в ваше время?
            Ответить
            • У тебя есть время до 26 июня. Но я боюсь, что в аське ты вряд-ли найдешь тян, рожденных после 1985-го года.

              А у вас там в ВК так не делают?
              Ответить
        • Ни себе, ни людям. Лучше бы подарили кому-нибудь этот сервис, если самим лень поддерживать.
          Ответить
          • Видимо никому даром на надо.
            Кому попало нельзя давать. Там же персональные данные, сообщения в конце концов.
            Ответить
            • всю жизнь он был у кого попало, а тут вдруг нельзя!
              Ответить
              • Да, то Mirabilis, то AOL, то mail.ru...
                Ответить
                • Эх, по рукам пошла!
                  Ответить
                  • Причём клиентов даже не спрашивали, хотят ли они доверить персональные данные новому владельцу. Просто каждый раз продавали, как деревеньку с крепостными.
                    Ответить
                    • бывало такое, чтобы спрашивали?
                      Ответить
                      • Бывало, что выкладывали в общий доступ твой домашний адрес, телефон, ФИО, логин, и пароль плейнтекстом.
                        А что бы спрашивали -- не помню
                        Ответить
                        • Здравствуйте! Можно ли передать ваши персональные данные с ключём (login="MAKAKA", password="123") в собственность компании ООО «Российские Чат Системы»?
                          Ответить
                          • Почему у вас пароль часть ключа? Может быть несколько макак с разными паролями?
                            Если я сменю пароль на "!23" по соображениями безопасности, то у вас станет две мокаки?
                            Ответить
                            • Извините, мы не сможем ответить на ваш вопрос, поскольку наш технический специалист уволился. По этой причине мы и продаём проект.
                              Ответить
                              • понятно, уволился компьютерщик, значит.

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

                и даже никнеймы типа @ivanborisovichgologubov
                Ответить
                • <aster> "Прошу завести электронную почту для Мафусаилов Наиль Гафурович
                  <aster> Желаемый адрес электронной почты (если не занят): Мафусаилов Наиль Гафурович"
                  <aster> нет, бл@ть. Не занят. Не поверишь, бл@ть, но не занят.
                  Ответить
                • https://m.vk.com/video164768333_162834661
                  Ответить
      • Какие же они уёбища бессовестные!
        Ответить
    • счетчик
      https://pbs.twimg.com/media/GORsyxdXoAA4UP3?format=jpg&name=900x900
      Ответить
      • Не знал...

        Несколько видов рыб так же делают.
        Ответить
      • https://pbs.twimg.com/media/GOUX-D1WQAAFg7l?format=jpg&name=small
        Ответить
    • Похороны мух (тараканов, блох, клопов, вшей[1], комаров) — восточнославянский[2] обряд проводного типа
      Ответить

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