1. Python / Говнокод #27331

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    match group_shapes():
        case [], [point := Point(x, y), *other]:
            print(f"Got {point} in the second group")
            process_coordinates(x, y)

    https://www.python.org/dev/peps/pep-0622/

    Запостил: DypHuu_niBEHb, 31 Марта 2021

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

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

          нравица тебе свинтаксис?
          Ответить
          • Нет. Выглядит как говно С++-метушня.
            Ответить
            • C++ с гилом, ручным управлением ресурсами и отсутствием стат типизации, где даже с int работают по указателю
              Ответить
              • > игилом

                Делай только приписку "Запрещённая в России террористическая организация".
                Ответить
    • Инспектор манежа объявляет:

      - Феноменальный номер! Впервые в истории цирка! Маленький мальчик с феноменальной памятью!..

      На манеж выходит восьмилетний ребенок.

      Инспектор манежа:

      - Сейчас этот маленький мальчик обоссыт всех сидящих в первых четырех рядах!

      Все бросаются врассыпную.

      - Господа! Вы меня не поняли. Я же сказал, что у мальчика феноменальная память!
      Ответить
    • Лол, 30 лет писали "switch нинужен, у вас же есть мапы и лямбды" и вдруг решили запилить?

      Скриптушки такие скриптушки.
      Ответить
      • Ещё лет через 5 заведут переменную по умолчанию, операторы ~= и ~~...
        Ответить
        • > Ещё лет через 5 заведут переменную по умолчанию,

          Не заведут, а починят (если это про аргументы, конечно). Делать default как в условном шарпе там нет смысла.
          Ответить
          • Не, переменную по умолчанию. Которая используется если ты не предоставил переменную, которая используется.

            Можно будет писать как на перле:
            items = ['Hello', ' ', 'World', '!']
            for items:
                print

            Правда ведь, сокращение объёма кода улучшает чмтабельность
            Ответить
            • а, я анскилябр и про такое даже не слышал, максимум _ для partial application (
              Ответить
            • В пёрле было каррирование когда оно ещё не было майнстримом.
              Ответить
            • Пиздец (
              Ответить
      • кстати, а почему у функциональщиков так горит с тернарника?
        Ответить
        • [[citation_needed]]
          Ответить
          • Это больше про срачи в телеграме. Вот реальный пример:

            < Ну, меня как раз Котлин пока радует прагматичностью.
            < Тернарный - вреден )

            > чем?

            < Нечитаемостью кода

            Насколько понимаю, это про то что if-then-else там является expression и поэтому является полной заменой тернарника.
            Ответить
            • > Kotlin

              404, функциональщик не найден.
              Ответить
              • ну, я про хайп-функциональщиков мира ноды, скалы и котлина
                Ответить
                • > ноды

                  Какая функциональщина )))
                  Ответить
                  • Я пока искал примеры, наткнулся на чистую функцию IfVal(value, function)

                    Это, конечно, было подведение к Maybe, но я всё равно выпал
                    Ответить
                    • Это типа && из пёрла?
                      Ответить
                      • Это обезьяны услышали, что функциональное программирование — круто, модно, молодёжно, и решили, что если убрать из кода все отвратительные императивные конструкции вроде "if", то код станет функци-анальным.
                        https://dev.to/joelnet/functional-programming-how-would-you-if-no-else-javascript-59ai
                        Ответить
                        • Императивный стиль
                          function ifVal (x, f) {
                            if (x == null) {
                              return null
                            } else {
                              return f(x)
                            }
                          }


                          Функциональный стиль
                          const ifVal = (x, f) => x == null ? null : f(x)




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

                          switch(action) {
                            case 'UNLOAD':
                              // logic
                              // return or break
                            case 'RELOAD':
                              // logic
                              // return or break
                          }


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

                          > My point is that the imperative nature of the task you are trying to perform is making you use things like the comma operator that should have no place in functional programming.

                          У меня ощущение что я сейчас гендерные стадис читаю, nature of the white man you are trying to employ is making you use things like money bonus encouragement that should have no place in an organic free society
                          Ответить
                          • > imperative nature of the task you are trying to perform

                            Ну да, я пытаюсь сделать что-то продуктивное
                            Ответить
                            • Продуктивность имеет побочные эффекты, это нельзя.
                              Ответить
                    • В эрланге я просто пишу
                      IsKurochka andalso kokoko().
                      и теку.
                      Ответить
            • А действительно, нафиг тернарник языку в котором if then else и так тернарник?
              Ответить
              • вот, просили же цитату!

                Чтобы не писать if then else, естественно. Зачем писать и читать лишнее?
                Ответить
            • Адепт Котлина, у разработчиков которого явно стоит задача по количеству умолчаний и неочевидного сахара догнать и перегнать Перл, жалуется на читаемость тернарника. Иронично.
              Ответить
              • Ты будешь смеяться, я немного урезал оригинальный диалог:

                < Ну, меня как раз Котлин пока радует прагматичностью.
                < Тернарный - вреден )

                > чем?
                > да та же скала в профиль

                < Нечитаемостью кода
                < Скала ужасна

                > да где он нечитаем-то?
                > condition ? a : b

                < Perl наших дней.

                > welp они построили язык не очень далекий от шкалы
                Ответить
                • Perl в целом более логичный, консистентный и удобный язык, чем Python.
                  Ответить
                  • У меня сложилось впечатление, что осталось пять-десять лет до перехода перла в ранг неприкасаемых языков вроде С, мол, даже если что не нравится, лучше даже не пытайся сделать better one.
                    Ответить
                    • > перла

                      Перл 5 имеется в виду, конечно же?
                      Ответить
                      • Конечно. Четвертый перл уже не нужен, а шестой перл будет популярен только когда выйдет Slackware 15 на ядре gnu hurd 1.0

                        Кстати, кто сходу вспомнит чем пятый отличается от четвертого -- тот мегаолдфаг. Я вот знаю, что там локальных переменных (my) не было, только module level (our)
                        Ответить
                • Понятно, человек прочитал https://kotlinlang.org/docs/inline-functions.html и поехал кукухой.
                  Ответить
                • >Тернарный - вреден )
                  Всё ненужно, что сломалось. Всё ненужно, чего нет.

                  Появляется язык $FOO в котором отсуствует конструкция $BAR.
                  Адепты языка уверенно заявляют, что $BAR не нужен. Заявляют эмоционально, спорят еще. Год, второй, третий, пятый, десятый.
                  На одиннадцатый год в $FOO появляется $BAR.

                  "Ура", -- орут адепты языка $FOO, -- "теперь писать на $FOO стало ЕЩЕ удобнее!"
                  Ответить
                  • Тернарник запилить, думаю, несложно. Вот когда в гуланг завезут generics, тогда посмеёмся.
                    Кстати, я думаю, что гуглу с их десятками тысяч инженеров дженерики правда и не нужны. Можно просто взять и одного инженера посадить писать имплементацию для интов, другого — для флотов, третьего — для даблов, и так далее.
                    Ответить
                    • Так они какие-то кривые дженерики уже завезли, не?

                      > одного инженера посадить писать имплементацию для интов, другого — для флотов

                      Какое масштабирование )))
                      Ответить
                      • [[citation needed]] Или ты про мем, где кто-то нашёл в юникоде символы, напоминающие треугольные скобки, и запилил транслятор, который их как-то парсит?
                        Ответить
                        • P.S. https://old.reddit.com/r/rust/comments/5penft/parallelizing_enjarify_in_go_and_rust/dcsgk7n/ (прошу прощения у уважаемых дам, господ, некомат и девочек-волшебниц за ссылку на реддит)
                          Ответить
                        • https://govnokod.ru/27219#comment608499

                          З.Ы. А, год ещё не закончился.
                          Ответить
                          • Это ж только proposal, вроде. Про него я слышал. Но ещё я слышал, что у них рахитектура компилятора не позволяет это легко запилить.
                            Ответить
                          • https://habr.com/ru/company/mailru/blog/462811/

                            >Пятилетний опыт коммерческой разработки на Go показал, что дженерики не нужны для большинства решаемых задач

                            >В C# те же шаблоны, только специализируются они в рантайме.

                            Даннинги и Крюгеры какие ))
                            Ответить
                            • > Пятилетний опыт

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

                              Именно поэтому я за "С".
                              Ответить
                          • > А, год ещё не закончился.

                            Этот год. Гошники верещат что "че вы накинулись, вот-вот будет" минимум с 2018.
                            Ответить
                    • Шутки шутками, а в джаве частенько разные буферы делают отдельно для byte, int и long , потому что обобщенное программирование там только через жопу указатели на объекты

                      Кстати, до 2004-го года джависты считали, что обобщенное программирование не нужно, и очень гордились, что у них нет такого говна как крестошаблоны.
                      Ответить
                      • Профессианальные программисты на Java 11, кстати, пытаются и в функциональщину. Получается примерно как у Толкиена, где орки — это искалеченные пытками эльфы.
                        Ответить
                      • меня каждый раз забавляет, что сишарп, вышедший "вдогонку" к джаве, буквально через несколько лет так перехватил первенство, что джависты по сравнению с ним всегда остаются только в 2004 году и только и делают что подбирают оброненные фичи
                        Ответить
              • У Котлина просто много сахара, потому что джава -- говно, а говно вкуснее есть с сахаром
                Ответить

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