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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    struct S { struct Inner { }; };
    template<int N> struct X;
    auto refl = ˆS;
    auto tmpl = ˆX;
    void f() {
    typename [:refl:] * x; // OK: declares x to be a pointer-to-S
    [:refl:] * x; // error: attempt to multiply int by x
    [:refl:]::Inner i; // OK: splice as part of a nested-name-specifier
    typename [:refl:]{}; // OK: default-constructs an S temporary
    using T = [:refl:]; // OK: operand must be a type
    struct C : [:refl:] {}; // OK: base classes are types
    template [:tmpl:]<0>; // OK: names the specialization
    [:tmpl:] < 0 > x; // error: attempt to compare X with 0
    }

    и да, это приняли.
    https://lists.isocpp.org/sg7/2021/04/0226.php
    http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2320r0.pdf

    Запостил: digitalEugene, 07 Января 2022

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

    • блять табы проебал
      Ответить
    • Пиздец..
      Ответить
    • > ^
      Ну вот, майкрософту С++/CLI сломали... А как же хвалёная обратная совместимость?
      Ответить
      • [:typeof:]

        З.Ы. А C++/CLI не закопали ещё?
        Ответить
        • Он теперь С++/СХ вроде называется. Его пиарили, как язык для приложений в маркетплейсе мелкософтовском.
          Ответить
          • нахуй он нужен?

            пятнадцать лет назад он нужен был чтобы заманить С++-ников-по-неволе на .NET, а теперь уже таких и не осталось
            Ответить
            • теперь - чтобы разманить их обратно
              Ответить
      • По контексту не получится отличить?

        Там же что-нибудь в духе Foo^ x и ^x? Причём x -- значение. А в этом пропозале x в ^x -- тип.

        Крестоконпелятор -- не человек и сегодня ему предстоит тяжелая ночь...
        Ответить
    • [:refl:]

      Напоминает коды для смайликов в некоторых мессенджерах. Вроде :ROFL:
      Ответить
    • > One of the reasons that we opt for this very terse syntax over the prior reflexpr(X) form ... having a simple ˆ will keep invocation syntax light and readable.
      Если я захочу перл, я знаю, где его взять.
      Ответить
      • > перл

        Ну в крестах тоже закорючек хватает... Так что устои не особо пошатнули.
        Ответить
    • C++/CLI/CX also has a potential conflict in the declarative context. A managed pointer is declared with
      the ˆ operator

      ахахаха
      Ответить
    • Ух как интересно. (((Крестовые говностандартизаторы))) опять какой-то хери понадобавляли, новый вид говноскобочек с двоеточиями.
      Ответить
      • С++ же юникод поддерживает. Зачем эти диграфы?
        ⦅хуй⦆ 〚пизда 〛⦃ джигурда⦄「виабушные скобки」【ещё вид】⦑с точечкой!⦒ ⦕хтонический ужас⦖ ⧚очень фигурные⧛ ༺тибетские༻

        Вертикальные для блоков кода


        И это ещё даже не половина!
        Ответить
      • > говноскобочек с двоеточиями.

        Говноскобочек с говноточиями
        Ответить
    • https://www.opennet.ru/man.shtml?topic=tr&category=1
      Ответить
    • We considered a number of different bracket operators, but ended up choosing [: and :]. Some alternatives
      included:
      • [| R |]. We think this might be too similar to the attribute brackets. Interestingly, this notation is
      used by Template Haskell for quotes (like source code fragments in P2237). These brackets are also a
      visual approximation of evaluation functions in various semantics models.
      • <: R :>. Not bad, but it combines poorly in template argument lists: vec<<:R:>>. We might use
      these brackets for source code fragments, since they rarely appear in template argument lists.
      • (: R :). Looks like smiley faces.
      • <| R |>. Also not bad, but the closing token is proposed for the pipeline operator [10].
      • (| R |). Considered briefly.
      • {| R |}. Not considered.
      • [< R >]. Proposed in P1240 for splicing template arguments and implemented experimentally in Clang
      (with good feedback). However, we wanted to preserve <> notations for features a little more template-y.

      Пиздец, и ни одна скотина не предложила «<? R ?>»! Я разочарован.
      Ответить
      • =( R )=

        Хотя... Это конфликтовать с оператором присваивания будет.
        Ответить
      • =(> R <)=
        Ответить
      • (^ R ^)
        Ответить
      • > <: R :>
        Они ебанулись? Сейчас это значит [ R ]
        Или они и диграфы собрались отменить?
        Ответить
        • > отменить
          В «Твиттере».
          Ответить
        • А их не отменили вместе с триграфами?
          Ответить
          • Бля. Их только в С90 добавили?! Мне всегда казалось, что это такой же атавизм, как и триграфы...

            Зачем? Зачем? Неужели тогда ещё были проблемы со скобочками?
            Ответить
            • Ну да, для совместимости со старыми прыщепердоликами с механическими клавиатурами
              Ответить
              • С насколько старыми? В каких раскладках нету квадратных и фигурных скобок?

                Ах, да, есть такие раскладки. Приходится на английскую переключаться. К слову, есть раскладка для «1С», чтобы не переключаться.
                Ответить
            • Помнишь (((Альфа-банк))), который в 2019 году запретил использовать ()[]{} в паролях, потому что в некоторых кодировках (реальные примеры так и не были раскрыты) их кодовые позиции могут отличаться?
              Ответить
              • Багор
                Ответить
                • Мне интересно, что же это за кодировки. EBCDIC отпадает, потому что в ней и другие символы тоже на других местах.

                  КОИ-7, в которой на месте { и } находятся Ш и Щ? Почему тогда строчные латинские буквы не запретили?
                  Ответить
        • А тебе нужны? Спроси у ISO.

          P.S. а, ты у него и спросил..
          Ответить
      • <?cpp R ?>
        Ответить
      • ((( R )))
        Ответить
        • А что вообще приняли? Какую функцию выполняют эти значки?
          Ответить
          • Это гомоиконы говнорефлексия какая-то
            Ответить
          • Вроде как собирались более-менее полноценную компайл-тайм рефлексию. Но тут в примере видно только получение объекта типа по типу и его "разыменование" обратно в тип. А вот работы с полями/методами и генереции говна по ним не видать... Возможно, в доке и есть.

            Но с комитетчиков станется, что только эти джве закорючки и приняли. А саму рефлексию оставили на следующий стандарт.
            Ответить
            • >получение объекта типа

              А что такое «объект типа» для С++?

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

                > только эти джве закорючки и приняли

                Блядь, ну так и есть. В этой доке только они и описаны. Надо искать другие части паззла, чтобы понять, что реально возвращает ^ и какие выражения можно писать внутри [: :].
                Ответить
            • вот кстати можно. Вот здесь всё описано. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1240r1.pdf
              #include <meta>
              using namespace meta = std::meta;
              template<HashAlgorithm H, StandardLayoutType T>
              bool hash_append(H& algo, const T& t) {
                  constexpr auto data_members =
                      members_of(reflexpr(T), meta::is_nonstatic_data_member);
                  for constexpr (meta::info member : data_members)
                      hash_append(algo, t.idexpr(member));
              }
              Ответить
              • > #include <meta>

                Ура! Метушня!
                Ответить
              • можно будет лепить датаклассы, которые налету будут считать свой хеш, лол

                как dataclass в котлине или lombok в жаве
                Ответить
                • >датаклассы, которые будут считать свой хеш
                  Хуй-ня.

                  В Сишке можно написать 1 раз функцию, которая будет вычислять хеш любой структуры по её указателю и sizeof().
                  Без ваших питух-рефлексий, котлинов и яж.
                  Ответить
              • А его приняли? Или это останется на следующий раз?
                Ответить
                • приняли, это ещё 2019 года док бтв. сейчас они прорабатывают всякие аспекты, вот синтаксис поменяли.
                  Ответить
                  • > приняли
                    > прорабатывают

                    Так приняли или прорабатывают? Доков то на эту тему полно было, и в каждой новый синтаксис... В первых вроде баксы какие-то были как в пхп.
                    Ответить
      • Цитирование стандарта в настоящий момент осуществляется только с аккаунта ISO. Остерегайтесь подделок.
        Ответить
      • > и ни одна скотина не предложила «<? R ?>»

        Именно поэтому я за «РНР».
        Ответить
      • Кстати я еще больше говновариантов предлагал: https://govnokod.ru/26621#comment544362

        Можно делать кучу всяких разных говноскобок, и даже придумать новый термин "скобкоориентированное программирование"
        Ответить
    • Когда же C++ раздуется новыми конструкциями настолько, что пошлют единый стандарт куда подальше и появятся отдельные форки-языки? А хотя зачем. Есть более типобезопасный и memory safe Rust, удобный для высоконагруженного веба Go ну и JS как главный язык фронтенда.
      Ответить
      • > memory safe Rust, удобный для высоконагруженного веба Go.
        Сколько людей сейчас стриггерится, ох.
        Ответить
        • Понимаю. Не у всех осталось достаточно нейропластичности (пик которой приходится на 25-30 лет, потом она начинает медленно угасать; к 40 годам человек уже вялый) учить новые технологии. Вот старые сишники/плюсовики отвергают Rust и вообще Web3 вокруг него. Нас тоже такая участь через лет 10 настигнет...
          Ответить
          • >Web
            это когда десктопное приложение на электроне занимает четыре гигабайта оперативки?
            Ответить
            • Да, таков бизнес в большинстве своем. Которому чхать на оптимизации и нужно побыстрее satisfy-ить клиентов. Хотя получается не у всех элегантно: там где я работала прежде, приложения каждые 50-100 мс могли запрашивать данные с лохчейна. И тут же их парсить для того чтобы показать таблицы и пр. 5-10 секунд лагов а уже хочется взять и послать нах компанию. "Мы сука должны быть как крутые DeFi биржи!", а вот ресурса на осуществление в полной мере этого не выделялось. Бэкендщиков пилящих смарт-контракты до сих пор продолжают нанимать, а продумать нормальную архитектуру чтобы фронту не приходилось poll-ить и обрабатывать сотни строк ЖСОН-а каждую секунду - "нумс у намс ни хватаемс ресурсамс".
              Ответить
              • а причем тут бизнес, если двадцать лет назад точно такие же десктопные приложения писали на Дельфи, и они занимали 8 мегабайт?
                Ответить
                • Притом, что когда стоит задача "запилить хуйню за неделю, которая позволяет управлять портфелем активов и чекать историю на графиках", у тебя в команде 4 челика, 2 из которых пилят на заказ какую-то левую х-ню: думаешь в первую очередь как сделать так, чтобы роботало лол. Какие еще вебсокеты? Бэкендщики заняты тестами к контрактам. Аналитик очень заебанным, толком не расписал все расчеты, сам иди исследуй систему наших братков/конкурентов.

                  Алсо щас бы думать что 15-20 лет назад не было кабанчиков, которые хотят запилить хуйню быстро и дешево. Полно было CMS/CRM говна например.
                  Ответить
                  • Во-первых двадцать лет назад бизнес был точно такой же.
                    Во-вторых я все еще не понимаю причем тут скорость разработки.

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

                      При том, что преждевременная оптимизация - не гуд, потому что непонятен собственно сам вектор оптимизаций. В первую очередь надо запилить функционал, который роботает. И уже потом искать и думать, что оптимизировать. Когда времени на выход в прод мало, получаем в продакшене поделку которая условно на круд жрет полгига оперативки (если там не большой in-memory cache для уменьшения латенси конечно). Ее потом могут оптимизировать, а могут и нет. Чаще всего второе.

                      > На дельфях типа в тридцать раз дольше было писать, чем на тайпскриптах под электрон?

                      В принципе также. Еще из-за GUI centristic подхода к разработке (думали сначала что рисовать сложные формочки в редакторе быстрее чем их кодить) получались чудовищные костыли, которым сами сервисы на Вордпрессе могут позавидовать.

                      И на Дельфях писали г.. с утечками памяти и bloatware. Просто слоев абстракции было поменьше.
                      Ответить
                      • И также в говенном качестве софта винили исключительно "кривую Дельфи", "не умеющих в оптимизации говнокодеров".
                        Ответить
                      • на дельфи редко что заранее оптимизировали)

                        ну то есть ты согласен, что формошлепство на электроне и на дельфи было примерно одинакового качества, но при этом намного легче по ресурсам?
                        Ответить
                        • В электроне всё-таки вроде не надо ковырять данные из формы руками и набивать их во всякие комбобоксы руками?
                          Ответить
                          • а когда завезли livebinding?
                            Ответить
                            • Ну мне кажется тот же ангуляр задолго до электронов это умел...
                              Ответить
                              • я про livebinding в дельфи:)

                                ангуляр может и умел, а вот access умел еще в прошлом веке) и вроде VisualBasic 6.0 тоже
                                Ответить
                                • А, к базам биндиться вроде даже шестёрка с семёркой умели, может и раньше. А вот к структурам -- х.з.
                                  Ответить
                • Алсо на Электроне есть приложения которые потребляют меньше ресурсов чем аналоги на Qt. Например VS Code. И Электрон не сказать что сейчас распространен для разработки десктопного GUI, который переезжает в основном в веб.
                  Ответить
                  • VS Code сравнивать с Visual Studio это примерно как Notepad++ сравнивать с Qt Creator
                    Ответить
                    • VS Code все же богаче функционалом чем Notepad++ . Возможности дебага, автокомплита для множества языков через плагины, встраиваемость командной строки. Вполне тянет на уровень IDE вроде Visual Studio.
                      Ответить
                      • попробуй пописать на c# или на плюсах в VSCode, ну)

                        в VSCode удобно писать только на скриптоговне, где VSCode работает фронтом к LSP


                        а дебаг через плагины и в notepad++ есть
                        Ответить
                        • Какие-то `С#', `LSP', `VSCode'... У меня в GNU\Emacs ничего этого нет, именно поэтому я за GNU\Emacs.
                          Ответить
                          • https://github.com/emacs-lsp/lsp-mode
                            Ответить
                            • Для «Nim» такое есть, кстати, но я пока не пробовал.
                              Ответить
                            • > У меня в GNU\Emacs ничего этого нет,
                              Ответить
                              • а как вы комплититесь на сишке и крестах в емаксе? Тагами? шлангом?
                                Ответить
                                • ac-source-words-in-same-mode-buffers и быстрые пальцы. Более умные дополнялки время от времени начинают тупить или тормозить, и выбивают меня из состояния дзена.
                                  Ответить
                                  • это когда просто компилитятся любые слова в том же буфере без включения мозга?


                                    Наверное это заставляет тебя писать очень хороший код:)

                                    мне нравились ctags, они не тупили даже в оче больших проектах в vim, но правда речь шла о сишке. хз как они с крестами.

                                    по ним было удобно навигироваться еще
                                    Ответить
                                    • Не в том же буфере, а во всех открытых буферах на том же языке. Без сёмантики, да. У меня один фиг почти всегда открыты сорцы функции, которую я собираюсь вызывать в другом окошке, ибо мало ли что там. Заодно и подсасывается в ac.

                                      ctags тоже юзаю.
                                      Ответить
                      • шаг 3: дорисуйте сову
                        Ответить
                  • Иди нахуй блять, просто иди нахуй, даже не буду объяснять, почему ты в очередной раз не прав и сказал полную бестолковую хуйню.
                    Ответить
            • я тут блядь умудрился 32 гига оперативы на рабочей машине пробить -_-

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

            Я конечно сварщица не настоящая, но rust в текущем состоянии непригоден для нормальной разработки. Они инкрементальную конпеляцию то починили, которая в сишке с рождения была?
            Ответить
            • >для нормальной разработки
              Разрабатывать? С такой скоростью компиляции?

              Напомню что она на порядок ниже чем в той же Йажа, на которую жаловался guest6.

              https://govnokod.ru/27869#comment754112
              Ответить
              • Ну это потому что инкременталку пришлось отломать из-за багов? Когда починят, то станет намного юзабельнее, я думаю.
                Ответить
          • Согласно твоим медицинским фактам, мне ещё далеко до угасания нейропластичности, что не мешает мне рофлить с rust/go evangelism strike force.
            Ответить
          • > Rust и вообще Web3 вокруг него

            Есть у меня некоторые сомнения что фронтендщики выучившие раст по вечерам и языки смартконрактов на выходных способны сдвинуть web3 хоть куда-то
            Ответить
      • Азазазаза.

        > Есть более типа безопасный Rust
        fixed
        Ответить
      • пошёл нахуй
        Ответить
        • Грубовато. Но в принципе здоровая аллергическая реакция на пропаганду:

          > memory safe Rust
          > удобный Go
          > JS как главный язык
          Ответить
          • Не пропаганда, а суровая реальность. Посмотри сколько вакансий на Плюсах и сколько на JS/Go для разработки приложений, сервисов в тырпрайзе. И это потому, что на Go/JS делать это реально удобнее/быстрее. Плюсы сейчас встретишь в тырпрайз разработке среди всяких числодробилок и видеоигр разве что. Во всяких лохчейнах больше фаворят Rust из-за встроенной по дефолту примитивной защиты от гонок данных и невалидных указателей.

            Плюсы еще живее всех живых. Вопрос только что с ними будет когда стандарт раздуется настолько, что его использование превратит кодинг в 90% времени на борьбу с языком и компилятором. И тут либо форкать Плюсы либо переходить на Rust/Go/C в зависимости от выделяемых ресурсов.
            Ответить
            • в начале нулевых очень много вакансий для веба было на перле

              в 2009-м очень много было на ruby / RoR

              теперь много питона


              У рынка свои законы, с качеством языка или скоростью разработки связанные слабо.
              Ответить
              • > теперь много питона

                Как там в 2010-ом? Говорят в Django безопаснее Пыхи, в нем встроенная защита от XSS в темплейтах!
                Щас веб (со стороны бэкенда) - это Го либо Node.js .

                > или скоростью разработки связанные слабо

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

                Вопрос тут больше в том что дороже - форкать Плюсы и пилить форки либ под него или перейти на Rust/Go
                Ответить
                • шото я го не вижу, зато вижу питон
                  https://statisticstimes.com/tech/top-computer-languages.php

                  у тебя откуда статистика-то?


                  >Django безопаснее
                  да

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

                  В реальном мире он выбирает единственный, который изучил.
                  А изучает он тот, про которого больше всего хайпа.
                  Ответить
                • > кабанчик
                  Это в хрюкни
                  Ответить
                • >>>"Щас веб (со стороны бэкенда) - это Го либо Node.js"

                  Расскажи об этом VK, Facebook, Wikimedia и Yahoo. Возможно, твоё экспертное мнение заставит их задуматься.
                  Ответить
                  • Потом они спрашивают, почему я за «PHP». Да вот хотя бы поэтому.
                    Ответить
            • Но форкать Плюсы дороже чем перейти на Rust/Go.
              Ответить
              • Да, даже реальный пример есть:
                https://govnokod.ru/26927#comment572990
                Ответить
            • > борьбу с языком и компилятором

              Не так страшен чёрт...

              99% новомодной метушни нужно разрабам буста и прочих библиотек. А UB'ы, которые были реальной проблемой, в новых стандартах начали чистить. Т.е. писать на новых крестах в общем-то проще и приятнее, чем лет 10 назад. А если у тебя есть желание и готовность перейти на раст, то у тебя нет никакого легаси на старых крестах, которое надо поддерживать (или ты мозилла).

              Т.е. это скорее не форк крестов, а просто выбор какого-то внятного подмножества для себя (для своей команды, для своего проекта).
              Ответить
              • [deleted]
                Ответить
                • > обновить до версии 30

                  И вот тут-то тебя раст, руби и прочая хипстерская херня подставит гораздо сильнее крестов...
                  Ответить
                  • третий питон и руби 1.9 приветствуют тебя, ага
                    Ответить
                    • > руби 1.9

                      Да блин, я помню там просто найти сочетание либ, на которых взлетит редмайн, было NP полной задачей. Плюс-минус минорная версия какой-нибудь либы от указанных в доке -- и уже всё рассыпается в труху.

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

                        Потом они спрашивают, почему я за «PHP». Да вот хотя бы поэтому.
                        Ответить
                        • в пыхе принято все писать самому, и готовых либ не брать, потому и хела нету
                          Ответить
                          • PHP были ``serverless'' до того, как это стало мейнстримом.
                            PHP изобрели monorepo и вендоринг зависимостей, до того как это стало мейнстримом.
                            Ответить
                            • там еще очень маленький time to production. Между разработкой новой фичи и деплоем ее на продакшен сервер может пройти меньше секунды
                              Ответить
                              • PHP: Beating the Averages

                                So you could say that using Personal Home Pages was an experiment. Our hypothesis was that if we wrote our software in PHP, we'd be able to get features done faster than our competitors, and also to do things in our software that they couldn't do.
                                And because PHP was so high-level, we wouldn't need a big development team, so our costs would be lower. If this were so, we could offer a better product for less money, and still make a profit.

                                What were the results of this experiment? Somewhat surprisingly, it worked. We eventually had many competitors, on the order of twenty to thirty of them, but none of their software could compete with ours. Our competitors had rust, go, java, nodejs. And we were always far ahead of them in features. Sometimes, in desperation, competitors would try to introduce features that we didn't have. But with PHP our development cycle was so fast that we could sometimes duplicate a new feature within a day or two of a competitor announcing it in a press release. By the time journalists covering the press release got round to calling us, we would have the new feature too.
                                Ответить
                          • Сейчас стало модным скачивать либы через «компостер» и появился хелл.

                            А кто пишет по-старинке, как ротоёб, у того, конечно же, хелла нету.
                            Ответить
                            • > компост

                              Блин, надо реально так назвать инструмент для управления репами. Место, где либы перегнивают перед их использованием.
                              Ответить
                              • Авторы считают, что это в честь композиторов:
                                https://getcomposer.org/

                                Но мне удобнее считать, что это в честь компоста.
                                Ответить
                              • Кстати, в пензенских горуслугах тоже этот компост есть:
                                {
                                    "name": "gbu-penza/rpgu",
                                    "require": {
                                        "php": "^7.0",
                                        "symfony/routing": "^3.4",
                                        "symfony/http-foundation": "^3.4",
                                        "symfony/config": "^3.4",
                                        "symfony/http-kernel": "^3.4",
                                        "php-di/php-di": "^6.0",
                                        "doctrine/annotations": "1.4",
                                        "symfony/finder": "^3.4",
                                        "guzzlehttp/guzzle": "^6.5",
                                		"symfony/console": "^3.4",
                                        "symfony/process": "^3.4",
                                        "monolog/monolog": "^1.26"
                                    },
                                    "require-dev": {
                                        "nette/php-generator": "^3.0"
                                    },
                                    "autoload": {
                                        "psr-4": {
                                            "App\\": "app/",
                                            "Helpers\\": "helpers/",
                                            "Api\\": "api/"
                                        }
                                    }
                                }


                                Представь, винегрет из «Битрикса», «Symfony», «Doctrine» и вообще всего, что сейчас модно.
                                Ответить
                                • Там ещё есть:
                                  {
                                      "name": "fr05t1k/esia",
                                      "description": "OpenID ESIA authenticating",
                                      "keywords": ["esia", "openid", "egov"],
                                      "autoload": {
                                          "psr-4": {
                                              "esia\\": "src/"
                                          }
                                      },
                                      "require-dev": {
                                          "codeception/codeception": "2.1.3",
                                          "codeception/aspect-mock": "0.5.3"
                                      }
                                  
                                  }
                                  Ответить
                                  • Для коннекта с «ESIA» вообще куча свободных библиотек:

                                    https://packagist.org/?query=esia
                                    Ответить
                                  • Кстати, кто такой «fr05t1k»?

                                    А вот он: https://github.com/fr05t1k

                                    Stas Pavlovichev из Монреаля (Канада).
                                    Ответить
                                    • А это нормально, что государственный портал использует библиотеку иностранца, который может в очередной патч влепить бекдор?
                                      Ответить
                                      • Вай нот, если её ревьючат и у себя держат, а не берут прям с гитхаба?
                                        Ответить
                • Не, проблемы при переходе на следующий конпелятор реально есть, я не спорю.

                  Но в основном это просто из-за того, что диагностики стали лучше и всплыли старые баги в коде. Либо переход через с++17, когда отбросили кучу легаси.

                  Переход на следующую версию либы... Ну тут от либы всё зависит. Хорошие либы держат стабильность до последнего. И выпускают срочные security фиксы для старых веток, а не только с мажорным обновлением и перепиливанием всего API к хуям.
                  Ответить
              • > нужно разрабам буста
                Как что-то хорошее - макаронников пускать к стондартизации.
                Ответить
              • > разрабам бутса и прочих библиотек

                Вообще-то нет. Сюда иногда приходит ISO и срёт валидными конструкциями. Если бы этого всего не было, код был бы невалидным и ISO считался бы поехавшим.
                Ответить
                • Мне почему-то кажется, что ISO можно найти в списке создателей буста...
                  Ответить
                  • Он разве форсит буст? Не замечал.
                    Ответить
                    • Старается не палиться.
                      Ответить
                      • А зачем? Буст достаточно известен. Это как бояться форсить PHP, будучи его разработчиком.
                        Ответить
              • > Т.е. писать на новых крестах в общем-то проще и приятнее, чем лет 10 назад.

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

                  З.Ы. Вот как такое фильтровать нейросетями?
                  Ответить
                • Раньше у меня добавляемая в крестопарашу поебень вызывала желание проблеваться, теперь же вызывает приступы гомерического смеха. Аж даже интересно, что еще за припизданутую хуйню они добавят в какой-нибудь C++25
                  Ответить
              • алсо, отсутствие сложных хитровыебанных конструкуций в JS с лихвой компенсируется ими в TS и средствах сборки и разрабоики

                Я вот совсем не уверен, что стать экспертом по webpack/TS/Angular/nodejs намного легче, чем стать годным крестовиком.

                и это мы еще за бекенд не пиздели
                Ответить
                • > отсутствие сложных хитровыебанных конструкуций в JS

                  Да там тоже все научились писать на более-менее внятном подмножестве, чтобы даже не задумываться, что получится от сложения {} и [].
                  Ответить
                  • ага, тем более тайпскрипт такие штуки не приветствует.
                    но в тс тоже хорошо

                    https://user-images.githubusercontent.com/4564579/52309247-629da100-2954-11e9-9f85-06a86d04a108.png
                    Ответить
                • > Я вот совсем не уверен, что стать экспертом по webpack/TS/Angular/nodejs намного легче, чем стать годным крестовиком.

                  Человек, который хорошо в нем ориентируется — это хорошее зубрилко, а не хороший программист.
                  Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современном мире ценится разве что только среди прыщавых сосок.
                  Работодатель же это сомнительное умение не ценит, и совершенно справедливо.
                  Ответить
                  • > стать экспертом по webpack/TS/Angular/nodejs

                    Эксперт-говноед.
                    Ответить
                  • Эта паста относится в равной степени и к крестам, и к современному вебу
                    Ответить
                  • А поясни: как так вышло, что на плюсах пишут Борманды, ISO, и [email protected], а на PHP только ротоёбы и Katerina1993?
                    Ответить
                    • Разница между бормандом и ротоёбом в...?
                      Ответить
                      • в том, что один пишет на CPP а другой на PHP, я же написал
                        Ответить
                        • И?
                          Ответить
                          • Все одноименные передатчики соединяются по схеме «Монтажное И»: уровень в линии будет высоким, если все передатчики пассивны, и низким, если хоть у одного
                            Ответить
                            • Монтаж засчитан
                              Ответить
                              • Это про прерывания, кстати. Знаешь про edge triggered vs level triggered?

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

                                  не сотвори себе кумира это называется
                                  Ответить
                                  • По дискуссиям на ГК, да. А как еще определять уровни?

                                    Борманд был в моем списке не единственный, кстати
                                    Ответить
                                    • разве что поработав с человеком некоторое время
                                      Ответить
                        • На чём лучше писать, на PHP или HPP?
                          Ответить
                          • HPP работает в компайл тайм, и потому он более высокопроизводительный
                            Ответить
                    • > только ротоёбы и Katerina1993

                      А Инью? А Переворачиватель Сардин? А я?
                      Ответить
      • > Есть более типобезопасный и memory safe Rust, удобный для высоконагруженного веба Go ну и JS как главный язык фронтенда.

        А еще чтоб смузи, блокчейн, NFT-токены и прочее хипстерское говно
        Ответить
    • >https://lists.isocpp.org/sg7/2021/04/0226.php

      Профессионалы выбирают «PHP». Снова.
      Ответить
      • И даже гордятся этим, судя по всему. Иначе откуда в 2021 году расширение у страниц?

        З.Ы. Будет забавно, если там реально лежит 0226 пхп файлов.
        Ответить
        • Не хотят тратить баблишко на вебщиков, которые перепилят им сайт на более свежую архитектуру/технологию десу. Сайт роботает - и хорошо. Клиентов сервисом и свистоперделками им манить не надо, доку/доску с предложениями один раз запилил - и все.
          Ответить
        • Пусть на крестоговне свой сайт переписывают, заодно покажут всю мощность крестов!
          Ответить
          • Причём на последней версии! И чтобы каждая фича, описанная в стандарте, юзалась.
            Ответить
        • там еще http 1.1 и Server: Apache/2.4.25 (Debian)

          Консервативные ребята какие, странно что не слака
          Ответить
        • > https://lists.isocpp.org/sg7/2021/04/0226.php
          Server: Apache/2.4.25 (Debian)


          Похоже, действительно 0226 пхп файлов.
          Ответить
          • >php
            >.cgi
            >python powered
            https://lists.isocpp.org/mailman/listinfo.cgi

            хм...
            Ответить
      • Потом они спрашивают, почему я за «PHP». Да вот хотя бы поэтому.
        Ответить
        • «PHP» — надёжность, производительность, эффективность.
          Ответить
          • От ошибок всегда поможет собачка!..
            Ответить
            • > собачка

              Хм, а ведь её ещё не приняли в стандарт крестов... Видимо держат как последний козырь.
              Ответить
              • Собачка не всегда помогает, кстати.
                <?php
                
                @$pituh[5]; // OK
                @kokok(); // Error

                https://ideone.com/WIJw6B
                Ответить
                • не собачкой единой
                  https://www.perl.com/article/on-sigils/
                  Ответить
                  • Perl хуже омикрона
                    Ответить
                    • да нет, перл это заебись. Мир был бы другим, если бы вместо пыхокала унас был перл
                      Ответить
              • > держат как последний козырь.

                А как же $ и %

                Они как-то используются в крестах?
                Ответить
                • можно ими на линуксах линкер убить
                  Ответить
                • % это остаток от деления. $ вроде никак не используется.
                  Ответить
                  • Ага, а & - это бинарное «и», а * - это умножение
                    Ответить
                  • > % это остаток от деления

                    %это% %никак% %не% %помешает%
                    Ответить
                    • Ну в общем да.

                      Амперсанд уже брал адрес объекта, но это не помешало приспособить его под ссылку.
                      Ответить
                • Можно еще "`" как-нибудь заюзать
                  https://en.wikipedia.org/wiki/Grave_accent
                  Ответить
              • В Крестах от Си-наследия и так по умолчанию собачка.
                Ответить
              • не надо собачку, cломаете ObjectiveC++
                Ответить
            • А, так вот зачем в полиции кинологи
              Ответить
    • https://thecodinglove.com/wp-content/uploads/2019/12/tcrmnyntyyl31.jpg - даже эльфы охуевают от убогого крестодерьма, в котором вместо гомоикон какую-то ссаную рефлексирующую парашу с говноскобочками добавляют.
      Ответить
      • Потом они спрашивают, почему я за «PHP». Да вот хотя бы поэтому.
        Ответить
        • Надо детям на Кристмас дарить сайт-визитку и всё будет.
          Ответить
    • vanished
      Ответить
    • https://github.com/matus-chochlik/mirror/tree/develop/example/mirror
      Ответить
    • Индекс данного говнокода 98.222686879%
      Ответить

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