Змея / Говнокод #27361 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
import cowsay
cowsay.cow('Hello World')


  ___________
< Hello World >
  ===========
                \
                 \
                   ^__^
                   (oo)\_______
                   (__)\       )\/\
                       ||----w |
                       ||     ||

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

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

  • ого
    этак ты скоро banner откроешь
    Ответить
  • Законтрибьють шаблоны со свиньёй и петухом.
    Ответить
    • >>> cowsay.char_names
      ['beavis', 'cheese', 'daemon', 'cow', 'dragon', 'ghostbusters', 'kitty', 'meow', 'milk', 'pig', 'stegosaurus', 'stimpy', 'turkey', 'turtle', '
      tux']

      Свиния уже есть 🙁
      >>> cowsay.pig("Hello GK!")
        _________
      < Hello GK! >
        =========
                    \
                     \
                      \
                       \
                                 ,.
                                (_|,.
                                ,' /, )_______   _
                            __j o``-'        `.'-)'
                            (")                 \'
                            `-j                |
                                `-._(           /
                                    |_\  |--^.  /
                                /_]'|_| /_)_/
                                    /_]'  /_]'
      Ответить
        • Over 50M+ Successfully Migrated User Mailboxes
          Priasoft specializes in complex Exchange and Office 365 Migration to the Microsoft Cloud or Cross-Forest. We can handle any Exchange or Office 365 Migration scenario.


          Cross-Forest, On-Premises Exchange Migration
          Mergers and Acquisitions
          Source and target Exchange environments are in separate AD forests

          Learn more →


          On-Premises to Office 365 Migration
          Transition to the Microsoft Cloud
          Source and On-Premises Exchange syncs with Office 365

          Learn more →


          Same Forest, Cross-Domain Exchange Migration
          IT Modernization and Upgrades
          Source and target Exchange servers are in different domains but same forest

          Learn more →
          Ответить
          • More than just a POS, you think ECNESOFT

            ECNESOFT is a not ‘package’ software that tries to apply a single generic so-lution to all types of industries. ECNESOFT comprises of multi-modular solu-tions that specifically target the retail, restaurant, and stock based businesses.
            Ответить
            • My system is getting slow. What should I do?

              A.

              We recommend our customers to reset system when the system has been used for more than one year.
              Ответить
              • звучит как саппорт макрософага, где индус Раджеш советует тебе либо переустановить венду, либо обратиться к производителю компьютера
                Ответить
                  • На всякий случай напомню, что ты общаешься со Стертором (aka уёбком).
                    Ответить
                  • Ещё из забавных советов есть "перерегистрировать все dll'ки". И он пару раз реально помогал на каких-то убитых тачках.
                    Ответить
                      • вы так щас договоритесь до того, что MVР из Гуджарата полезные вещи советуют
                        хотя не исключено, что ECNESOFT SO-LUTIONS так и возникла
                        Ответить
                      • А это часто помогало кста. Останки старых дров мешали, походу.
                        Ответить
                          • Ну я про времена ХР, само собой. В семёрке и выше я таких проблем не помню. Может быть просто ебанутые сборки никто уже не делал...
                            Ответить
                            • В семерке все таки стали лучше юзать WinSxS, так что dll hell отступил (ну и кома стало меньше), и LSP стали меньше пользоваться из за перефигачивания сетевого стека
                              Ответить
                        • не дров, это юзермод для тех, кто слишком ленив и анскиллен для написания NDIS или фильтра
                          впрочем на фильтры там тоже есть строгое ограничение
                          Ответить
      • Могут ли возникнуть проблемы с добавлением «cock»?
        Ответить
  • ­ ______________________
    < Столлман - насильник >
     ----------------------
         \
          \
                 ,;;;;;;;,
                ;;;;;;;;;;;,
               ;;;;;'_____;'
               ;;;(/))))|((\
               _;;((((((|))))
              / |_\\\\\\\\\\\\
         .--~(  \ ~))))))))))))
        /     \  `\-(((((((((((\\
        |    | `\   ) |\       /|)
         |    |  `. _/  \_____/ |
          |    , `\~            /
           |    \  \           /
          | `.   `\|          /
          |   ~-   `\        /
           \____~._/~ -_,   (\
            |-----|\   \    ';;
           |      | :;;;'     \
          |  /    |            |
          |       |            |
    Ответить
  • Я сегодня хотел изучить алгоритм Дейкстры... Когда я начал писать на питоне, я осознал, насколько он хуёв в плане изучения алгоритма Дейкстры. Алгоритм Дейкстры требует: два массива, два типа: ребро и вершина... Когда я подумал, что мне нужно будет это всё закодить, я расстроился и просто прочитал дальше книгу.

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

    Вот совсем недавно я сел писать структуру данных КУЧА, но на этот раз подошёл к этому умнее. Я решил использовать язык программирования «C++». Я сел, начал писать, создал проект в ЕМАКСЕ. И что бы вы думали! Я решил, что плохо просто написать кучу, нужно написать абстрактный шаблонный класс Heap, от него наследовать два шаблонных класса MinHeap и MaxHeap, впилить туда умные поинтеры, ещё что-нибудь умное... И мне так стало лень, что и кучу я не написал.
    Ответить
    • Именно поэтому я за "Си". Там ничего не отвлекает от алгоритма и данных.
      Ответить
    • > MinHeap и MaxHeap

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

        Будет как минимум неэффективно переобувать кучу заменой компаратора за nlogn время...
        Ответить
        • Хотя, кстати, написать кучу, использовав паттерн dependency injection, чтобы в неё встроить компаратор на этапе инициализации, будет полегче.

          Можно ещё сделать фабричный метод, который возвращает либо такую, либо другую кучу.
          Ответить
        • Шаблонизируй структуру компаратором, раз уж ты всё равно в шаблоны нячал упарываться.
          template<typename T, typename Comparator>
          struct Heap {
          // ...
          if (Comparator{}(element_a, element_b)) { /* element_a < element_b */ }
          // ...
          };
          template<typename T>
          using MinHeap = Heap<T, std::less<T>>;
          template<typename T>
          using MaxHeap = Heap<T, std::greater<T>>;
          Ответить
    • > Я решил, что плохо просто написать кучу, нужно написать абстрактный шаблонный класс

      YAGNI
      Ответить
        • https://dev.by/news/intervyu-s-krisom-kasperski-aka-mysch-h

          > Одну текущую задачу сначала показали «плюсовику», спросив, сколько займёт её решение. Он сказал: «Здесь нужно писать могучий движок. Короче говоря, это проект на полгода». Его коллега-«сишник» поинтересовался: «А зачем?» Ведь поставленная задача укладывается в сотню строк кода! Ответ был ошеломляющим: «Ну и что, мы так и будем по сотне строк кода писать для решения частных задач, каждый раз, как они возникают? Нетушки, задачи надо решать раз и навсегда!».

          > По моему глубокому личному убеждению, проблемы нужно решать по мере их возникновения. Писать программы на вырост с избыточным универсализмом нужно лишь очень хорошо предварительно подумав, ибо это из серии «Почему сегодня не делают корабли, летающие к звёздам?» Ответ прост: потому что корабль, построенный завтра, прибудет быстрее, а корабль, построенный послезавтра, еще быстрее. И их обоих обгонит корабль, построенный лет через пятьдесят, но когда он вернётся обратно, то обнаружит, что у человечества совсем другие проблемы».

          Поэтому я за Си.
          Ответить
          • При всем уважении к Крису как к хакеру и знатоку лоу-левел пижни: Крис не писал больших сложных и унылых энтерпрайзов, и не видел как двести питухов двести раз написали сто одинаковы строк кода.

            А тот, кто это видел, сразу попытается обобщить задачу.
            Ответить
            • При изучении программирования обобщать точно ничего не надо от слова совсем. ОП признался, что зубрит алгоритмы, и это значит, что поначалу он неминуемо будет писать говно, пока не прокачается. Не советую ни с шаблонами, ни с классами на этом этапе соприкасаться. Знать, что они есть, надо, а пользоваться — не надо. Иначе вместо исправления и улучшения говна всё время уйдёт на абстрагирование говна, и мир увидит ещё одного Java Middle.
              Ответить
              • Я писал про комментарий Криса.

                В случае обучения действительно лишние абстракции не нужны: нужно сосредоточиться на том, что ты изучаешь. И лучше всего делать это чистых сях или паскале
                Ответить
                • Мне ещё хочется на собеседовании показывать гитхаб с хитровыделанным кодом: с классами, шаблонами и лямблиями.
                  Ответить
                  • Ну такое... Если мне джун на собесе покажет гитхаб с хитровыебанным кодом, вместо рабочего, покрытого тестами кода, выполняющего какую-то задачу, это будет не слишком эффектно.
                    Лучше на тесты налегай, куда полезнее.
                    Ответить
                    • И coding style сделай стандартный и приятный, ибо всратый код никто читать не будет.
                      Disclaimer: мои советы распространяются только на конторы адекватов.
                      Ответить
                        • Ждун, это который ждёт, пока Qt Boost Enterprise проект скомпилируется?

                          Или который написал числодробилку на скриптушне, и ждёт результат?
                          Ответить
                          • Который написал N+1 при работе с SQL.

                            Ожидание: Лолечка, в твой первый рабочий день тебе нужно найти кротчайший путь между узлами графа самым оптимальным образом

                            Реальность: А умеешь иконку на сайте поменять?
                            Ответить
                            • если человек знает как грааф обойти то иконку точно поменять сможет

                              а если еще и про проектирование приложений читал то и статику иконки правильно разместит
                              Ответить
                            • > Реальность: А умеешь иконку на сайте поменять?

                              Ну так не выбирай такую реальность, если совсем с голоду не помираешь...
                              Ответить
                              • >не выбирай такую реальность

                                А я все думал почему тут столько анимешников
                                Ответить
                              • Ну это reductio ad absurdum конечно, но я пытался сказать, что для джуна в небольшом городе Лолечка как-то мощно замахнулся
                                Ответить
                        • > ждуна

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

                            Ну сеньорита на собесе за свои изъёбы может хотя бы может постоять. А если джун покажет какую-нибудь уберметушню, то собеседующий может получить немало лузлов, спросив, к примеру, "а что будет, если мы инстанциируем твою метушню другой метушнёй с перегруженным оператором & и конструктором, бросающим исключение, но только в Юрьев день".
                            Ответить
                            • > собеседующий может получить немало лузлов, спросив, к примеру, "а что будет, если мы инстанциируем твою метушню другой метушнёй с перегруженным оператором & и конструктором, бросающим исключение, но только в Юрьев день".
                              Senior C++ Developer ня такие хитрые вопросы должен без запинки отвечать: это UB ┐(︶▽︶)┌.
                              Ответить
                              • А если собеседующий спросит: "а почему?", ему можно ответить: "потому что вы не привели пунктов стандарта, по которым ваша метушня, которой вы инстанциировали мою метаметушню не UB".

                                Шах и мат, сиплюсисты.
                                Ответить
                    • >Лучше на тесты налегай

                      Решение очевидно: надо писать свой тестовый фреймворк
                      Ответить
                      • > надо писать свой тестовый фреймворк

                        Зачем? Зачем?

                        Унылый бройлерплейт же, никаких особо интересных задач там нет. Одна из тем, которые вообще не хочется велосипедить.
                        Ответить
                        • Лолшто, это крайне интересная тема. Stateful и stateless property based testing, shrinking, trace-based testing, model-checking, trace-based testing.
                          Я свой trace-based навелосипедил, кстати, и им даже кто-то кроме меня начал пользоваться.
                          Ответить
                          • > Stateful и stateless property based testing, shrinking, trace-based testing, model-checking, trace-based testing

                            - если в третий раз заняться trace-based testing, будет ещё интереснее!

                            > кто-то кроме меня начал пользоваться

                            - фу, хипстота. Уверен, что они забросили руст ради этого
                            Ответить
                          • А зачем вообще нужен какой-то "testing", если можно формально доказать?
                            Ответить
                            • > если можно формально доказать?

                              ...Дайте мне года два на реализацию пузырька.
                              Ответить
                            • Когда-то давно слышала оценку: X денежных затрат ня няписание ПО, ≈1000*X ня формальную верификацию.
                              Ответить
                              • Когда ня эту проблему няучат нятравать няйросетки, станет дешевле.
                                Ответить
                                • > Боровчекер лучше, чем ничего, но это ограниченная хрень, т.к. он автоматический, а автоматически можно проверить только малое подмножество не-Тьюринг полных программ.

                                  > няйросетки, станет дешевле

                                  Сестра, какое решение Вы в итоге предлагаете и для какой проблемы-то?
                                  Ответить
                                • С вероятнястью 92.16% няша программа работает математически правильня!
                                  Ответить
                                  • ...потому мы принимаем её в качестве прошивки для нового аэробуса. Спасибо!
                                    Ответить
                                    • С удовольствием полечу на аэробусе, корректность прошивки которого была доказана с помощью нейросетей, и прогнана через coqchk.
                                      Ответить
                                      • > была доказана

                                        Но для начала придётся перечитать все формулировки, которые там пытались доказать... А то вдруг там биологическая нейросетка какую-то фигню на входе набросала. И в итоге напруфали какую-то фигню, не имеющую отношения к полёту.
                                        Ответить
                                  • Не совсем так... с вероятностью 92.16% няша нейросетка сможет доказать, что наша программа работает математически правильно. Если доказать не может -- можно ещё погонять или попробовать по-другому обучить. Ну или вручную помочь в конце-концов.

                                    Сам пруфчекер то на нейросетку никто в здравом уме не будет переписывать.
                                    Ответить
                                    • Вот эта сестрёнка правильно говорит. De Brujin principle во все поля: генерить доказательство можно чем угодно, хоть мышиным облучением, хоть ворециями, если потом проверять доказательство строгим доверенным алгоритмом.
                                      Ответить
                                          • > TCB рассеяно по всей кодовой базе
                                            > 18к строк

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

                                                Хотя, конечно, у тех же крестов или джавы её вообще нет.
                                                Ответить
                                                  • Да обсуждали уже, что metamath ни от каких известных парадоксов не защищает.
                                                    Ответить
                                                    • Как и Coq. На Coq не выйдет доказать полноту и непротиворечивость Coq.

                                                      Гёделем доказано, что ничто от этих парадоксов не защитит.
                                                      Ответить
                                                      • > На Coq не выйдет доказать полноту и непротиворечивость Coq.
                                                        А в чём парадокс?
                                                        Ответить
                                                          • Существуют теоремы, которые Coq ня может ни доказать, ни опровергнуть.

                                                            А в чём парадокс?
                                                            Ответить
                                                            • Парадокс в том, что для доказательства Coq нужна другая питушня, которую тоже самой собой не докажешь. В итоге все доказательства на Coq держатся на вере в корректность Coq... Вот такой вот парадокс математики как религии!
                                                              Но это не точно
                                                              Ответить
                                                              • А это глобальняя проблема математики, так работают все современные (мейнстримные) математические теории. При чём тут конкретня Coq — ня ясно.

                                                                Если j123123 это ня нравится — ему нужня идти в неклассические логики, там люди ведут няравную борьбу с брадобреями, лжецами и гёделями.
                                                                Ответить
                                                            • Парадокс в том, что Coq не может доказать корректность Coq. И даже если б мог, это б ничего не доказывало, ведь если вдруг Coq некорректен, то доказательство корректности Coq в рамках Coq будет хуйней, а не доказательством.
                                                              Ответить
                                                              • Корректность Coq доказывается нязависимыми от Coq средствами.

                                                                А в чём парадокс?
                                                                Ответить
                                                                • > Корректность Coq доказывается нязависимыми от Coq средствами.

                                                                  Ничем она не доказывается. А даже если б доказывалось, чем бы доказывалось корректность тех средств? А как бы доказывалась коректность средств доказательства средств, и корректность средств для средств для средств и так далее?

                                                                  В этом и парадокс.
                                                                  Ответить
                                                                  • Поздравляю, вы открыли глобальные проблемы современной математики! Няпротиворечивость формальной системы X нявозможня доказать средствами системы X, но можня — средствами другой (ня эквивалентной X) формальной системы Y. Няпротиворечивость Y доказывается в Z, Z — в W, и так до тех пор, пока ня устанешь.

                                                                    Да, Coq может быть противоречив. Но Coq (как формальняя система) противоречив тогда и только тогда, когда противоречивы формальные системы, которыми доказывалась няпротиворечивость Coq — арифметика Пеано, ZFC или что там у них в фундаменте лежало. А это будет ознячать противоречивость вообще всей современной математики. Поэтому твои придирки конкретня к Coq совершення бессмысленны.
                                                                    Ответить
                                                                      • Для ответа ня этот вопрос нужны более мощные девочки-волшебницы, прости (。╯︵╰。).

                                                                        Но в общем случае, если няпротиворечивость формальной системы X была доказана в формальной системе Y, то из противоречивости X следует противоречивость Y — классическое доказательство от баки.
                                                                        Ответить
                                                                        • Ну ничего, я бы другого, более мощного, доказательства бы и не понял 🙂

                                                                          Спасибо!
                                                                          Ответить
                                                                      • Да, а ещё, как я уже говорила, есть разные няклассические логики. Няпример, паранепротиворечивая*: в ней допускается существование противоречий, что позволяет с некоторым успехом побороться со злыми гёделями. В самом своём основании, теорема Гёделя основывается ня предложении P = "P ня может быть доказано в X", из существования которого делается вывод, что X либо противоречива, либо няполна. Однако в паранепротиворечивой логике возможня существование противоречий: истинных предикатов, для которых также истинно их отрицание, и это ня приводит к противоречивости системы, что делает классические доказательства теоремы Гёделя някорректными.

                                                                        * https://plato.stanford.edu/entries/logic-paraconsistent/
                                                                        Ответить
                                                                    • > когда противоречивы формальные системы, которыми доказывалась няпротиворечивость Coq

                                                                      Никакими формальными системами непротиворечивость Coq (конкретно реализации этого Coq, написанной на OCaml) не доказывалось. Корректность компилятора и интерпретатора OCaml тоже нихрена не доказывалась.
                                                                      Ответить
                                                                      • Ты путаешь няпротиворечивость формальной системы и корректность реализации. Почитай https://github.com/coq/coq/wiki/Presentation#what-do-i-have-to-trust-when-i-see-a-proof-checked-by-coq.

                                                                        Няпротиворечивость формальной системы Coq доказывается математически, и если она всё таки противоречива, то вся современная математика тоже противоречива.
                                                                        А вот корректность конкретно твоей реализации и корректность твоего железа к Coq как формальной системе в принципе никак ня относятся. Это совершенно другая — тоже рекурсивная, впрочем — проблема, которая в абсолютно равной степени затрагивает вообще любые методы доказательств. В любых системах автоматического доказательства могут быть ошибки. В любых компьютерах могут быть ошибки. Люди, доказывающие теоремы вручную, тоже совершают ошибки.
                                                                        Редуцировать вероятность ошибки до бессмысленности теории — это классический максималистический нигилизм.
                                                                        Ответить
                                                                        • > Няпротиворечивость формальной системы Coq доказывается математически, и если она всё таки противоречива, то вся современная математика тоже противоречива.

                                                                          Кем она доказывается? Мозгом математиков? Как мы можем понять, что мозги математиков корректно работают?

                                                                          >А вот корректность конкретно твоей реализации и корректность твоего железа к Coq как формальной системе в принципе никак ня относятся.

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

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

                                                                            Поэтому я за `Арнольда': "математика — это раздел теоретический физики, отличие только в том, что в физике эксперименты стоят миллиарды долларов, а в математике — единицы рублей" (точную цитату мог переврать, но суть, нядеюсь, передал).
                                                                            Ответить
                                                                            • Цитата конечно хорошая, только вот не всякая математическая питуля имеет какую-то физическую интерпретацию. Взять например функцию Аккермана - к какой физике она имеет отношение?

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

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

                                                                                Допустим, j123123 наебнул Гёделя и выполнил программу Гильберта на metamath на микроконтроллере. Он утверждает, что его программа на 100% верна, но я тут такой: "а вдруг космическая частица попала в твой микроконтроллер во время проверки доказательства?". На что он: "а я два раза запускал." А я: "а что если два раза попала?"

                                                                                Вероятность такого события конечно исчезающе мала, но она никогда не нулевая. Вот и получается, что физика кроет любую математику.
                                                                                Ответить
                                                                                • > Вот и получается, что физика кроет любую математику.
                                                                                  А вся физика кроется субъективнястью восприятия. j123123 ня выполнил программу Гильберта ня микроконтроллере, ему это просто показалось из-за нядостатка сна. А у тебя просто когнитивное искажение, из-за которого ты ня осциллографе, подключённом к к микроконтроллеру, ня котором якобы выполнялась программа Гильберта, видишь то же, что j123123 видит в своём глюке.
                                                                                  Ответить
                                                                                  • Субъективность восприятия тоже когнитивное искажение. Я однажды с велосипеда приложился, и наблюдал перезагрузку мозга с чистого листа. Весело было, поскольку оказывается что мыслительный процесс может существовать без субъекта. Сложно описать, но именно поэтому я против `личности'.
                                                                                    Ответить
                                                                                    • > Весело было, поскольку оказывается что мыслительный процесс может существовать без субъекта. Сложно описать, но именно поэтому я против `личности'.

                                                                                      Наличие субъектности != наличие личности.

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

                                                                                        Именно поэтому я за «РНР»!
                                                                                        Ответить
                                                                                    • > Я однажды с велосипеда приложился, и наблюдал перезагрузку мозга с чистого листа.
                                                                                      А после этого ты стал девочкой-волшебницей ( ^▽^)?
                                                                                      Ответить
                                                                                      • > А после этого ты стал девочкой-волшебницей ( ^▽^)?

                                                                                        Какой исекай )))
                                                                                        Ответить
                                                                                • Поэтому вопрос "кто доказал, что имплементация Coq абсолютно верна" довольно непрактичен, а правильный вопрос звучит как "насколько Coq увеличевает вероятность того, что для доказанной с его помощью теоремы не найдётся контрпримера".
                                                                                  Ответить
                                                                              • > Математики работают за еду?

                                                                                Тут имеется в виду, что математику не надо ставить реальные эксперименты, ему достаточно посчитать.
                                                                                Ваш К.О.
                                                                                Ответить
                                                                                • > ему достаточно посчитать

                                                                                  Скажи это математикам, которые работают над криптовалютами.
                                                                                  Ответить
              • Это правда. Для изученяя алгоритма сортировки пузырьком нужня писать алгоритм сортировки пузырьком, а не интерпретатор Java-байткода на шаблонах C++.
                Ответить
            • > А тот, кто это видел, сразу попытается обобщить задачу.

              Ну так я не спорю. Ты обобщаешь тогда, когда это надо обобщать. В той же цитате есть:

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

              Если ты хорошо предварительно подумал, тогда берешь и обобщаешь. А если ты допустим пишешь некий игровой движок, который умеет 2D и 3D графон, и ты такой "бля, надо бы обобщить всё, чтобы можно было и 4D, 5D, 6D и так далее", то это полная херня. Не, есть какие-то экспериментальные четырехмерные игры, но это их раз два и обчелся https://en.wikipedia.org/wiki/List_of_four-dimensional_games
              Ответить
              • Минус – это плюс, я промахнулся.

                В списке 4D игр есть «2048 4D». Там не одно поле 8х8, а четыре поля 2х2. Какое 4Д )))
                Ответить
                • Дык это проекции, наверное? Нельзя взять и нарисовать 4Д в нашем убогом 3Д пространстве на 2Д мониторе.
                  Ответить
                  • https://huonw.github.io/2048-4D/

                    Вот оно. И это точно не проекции, а скорее ворекции, т.к. проекция трёхмерного куба на плоскость – его развёртка – уже будет состоять из более чем четырёх квадратов. Что уж говорить про 4Д, где развёртка будет 100500 квадратов!
                    Ответить
                    • В гиперкубике 2х2х2х2 у тебя 16 элементов. Можно нарисовать их в виде 4 "слоёв" 2х2. Всё норм вроде.
                      Ответить
                      • Если так, то да, можно. Но это уже питушня какая-то, я себе представляю это так:

                        2Д куб (анимекуб) – 4х4 плоскость.

                        3Д куб (автокадкуб) – 6 плоскостей 4х4, каждая соединена с четырьмя другими.

                        4Д куб (хзчезакуб) – ... ещё больше плоскостей 4х4, и каждая соединена с ещё большим количеством других плоскостей.
                        Ответить
                  • Нарисовать можно что угодно, просто мозг не осилит это понять. Нужно расширять сознание
                    Ответить
                • лучше всего игра 0AD, в десятичном выражении это больше всех
                  Ответить
              • > Ты обобщаешь тогда, когда это надо обобщать.

                Немного звучит как "хорошее лучше плохого". Без конкретных примеров тяжело говорить)

                В целом же еще Брукс писал, что (расширяемую) систему сделать чуть ли не в 10 раз сложнее, чем наколенный код
                Ответить
            • Обобщать или не надо, это управленческая задача. Прикинуть архитектуру проекта, возможные изменения, [i]адекватность клиента, возможность обломать ему хотелки[i], относительную стоимость того или иного подхода. Затем дать задачу: пишем частный случай или обобщаем. Да, возможно придётся всё равно обобщать после того, как уже написали пару частных случаев, как и возможно написать обобщённый вариант, который будет использоваться в одной конфигурации — это риск, на который приходится идти. Случается такое изредка, или постоянно — отличие хорошего годного компетентного управленца от плохого.
              Ответить
    • > Алгоритм Дейкстры требует: два массива, два типа: ребро и вершина...

      Сначала читаешь про матрицу расстояний в википедии, потом берешь двумерный массивчик размером X на X, где X - количество вершин в графе. Дальше просто берешь и реализовываешь этот алгоритм Дейкстры. Никаких двух массивов с ребрами и вершинами не требуется.
      Ответить
      • Тогда будет неэффективно по памяти для разреженных графов, и неэффективно по времени, т.к. в целом операции на матрице имеют бо́льшую ассимптотику, чем на представлении с помощью adjacency-list.
        Ответить
        • Если ты решаешь учебную задачу, тебе должно быть плевать на эффективность.

          К тому же ты можешь сделать интерфейс к своей структуре данных на двумерном массиве, напиши и протестируй алгоритм Дейкстры на такой структуре с таким интерфейсом, потом с точно таким же интерфейсом можешь запиливать свой adjacency-list, и потом бенчмарк можешь запиливать даже, и юнит-тестить одно об другое. Короче, делай MVP и потом улучшай его.

          А потом чтоб еще формально доказать на Coq что и так и сяк одинаково работает
          Ответить
          • Ого! Звучит очень прелестно, надо будет попробовать, когда станет не так лениво.
            Ответить
          • > Если ты решаешь учебную задачу, тебе должно быть плевать на эффективность.

            - пиздец, пиздец
            Ответить
            • Да не, нормально. Реализовать сортировку пузырьком в учебных целях это вполне обычная практика.
              Ответить
            • Выбор оптимальных по времени и/или памяти алгоритмов это вообще отдельная тема, и это конечно тоже полезно знать. Но если ты еще нихуя не умеешь, и задача перемножить матрицу, надо использовать простые наивные алгоритмы, а не всякие сложные алгоритмы реализовывать, которые в BLAS каком-нибудь есть
              Ответить
        • Можно применять https://en.wikipedia.org/wiki/Sparse_matrix но это конечно уже сложнее будет. Для начала можно просто с матрицей делать, учитывая что это учебная задача, а не какая-то профессиональная продакшен-хуйня для графов.
          Ответить
    • А конец у этой истории вот такой:

      Я смотрю анимешку, ту самую, про девушку напрокат. Там ГГ такой жук кринджа!
      Ответить
    • Та зелёная телка, самая шарообразная, мне напомнила Майка Вазовского.
      Ответить
        • Кстати да, жирное аморфное тело с гормональными нарушениями – идеал идей западного либерализма, ведь по нему не скажешь, тетка это или мужик: через слои жира пруфы не разглядеть, а стремление тела к сферической форме убирает всякую возможность ассоциировать человека с тем или иным полом.
          Ответить
          • >стремление тела к сферической форме
            Хочу стать смешариком.
            Ответить
          • Понятно. Это чтобы когда ебешь колобка не понимая куда ты ебешь в какую складку и не понимаешь гей ты или нет.
            Ответить
  • Бох забери у них жизни - они их в пустую стратят
    Ответить
  •   ___________
    < I'm a bull! >
      ===========
                    \
                     \
                      c^__^э
                       (фф)\_______
                       (__)\       )\/\
                           ||---/- |
                           ||     ||
    Ответить

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

Переведи на "PHP", guest!

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


    8