Кресты / Говнокод #3240 Ссылка на оригинал

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
#define NAT unsigned int
class Matrix {...};

bool ortholin ( Matrix & a, const double * b, double * x )
{
    const nat n = a.nRow;
    const nat m = a.nCol;
    // далее нигде не используется класс матрицы и идет Сишный код
}

bool ortholin ( nat n, nat m, const double * const * a, const double * b, double * x )
{
    return ortholin ( Matrix ( n, m, a ), b, x );
}

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

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

  • так же в функции с классом есть строчка:

    double * const * u = a; //Matrix -> double **
    Ответить
  • Странный ООП подход. Метод нужно было использовать в классе.
    Ответить
    • здесь ВООБЩЕ не нужен ооп
      нужна нормальная система модулей, но Трупстрауса Страуструп даже не задумывался об этом
      Ответить
            • откуда только такие фанатики вылазят, его уже сотню раз тявкалкой в статью Грэма совали, а толку ноль - до сих пор смысл не докатился до мыслительных центров (от с++ атрофировались?).
              чтобы такое заявлять нужно хоть немного иметь сведений о предмете, но для плюсовых зомби это не преграда, они будут мозги людям засирать своими бессистемными выкриками, выставляя уродства с++ эталонами.
              Ответить
                  • цитаты
                    > Есть много исключений из этого правила. Если вы пишете программу, которая должна тесно взаимодействовать с программой, написанной на определенном языке, возможно, окажется разумным писать новую программу на том же языке.

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

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

                    это как раз то что я пытаюсь донести вам на протяжении споров в этих темах...
                    Ответить
                    • а кто тут спорил с этим?
                      это вообще прописные истины, но:
                      1) да, существует легаси (мать его), но надо же как-то ситуацию исправлять
                      2) кроме с++ есть фортран, си, ассемблер (и тд)
                      3) для этого и был придуман перл =)
                      Ответить
                      • 1) на это нужно время
                        2) С++ это удобный С с плюшками... про фортран ниче не скажу ибо незнаю... ассемблер можно использовать из С++...
                        3) питон
                        Ответить
                        • 1) не спорю
                          2) ядро Linux очевидно не зря не стали на с++ писать
                          3) руби (языковой дизайн хорош, матц отлично питон отшлифовал)
                          Ответить
                          • 1) согласен
                            2) а L4ka на С++ написана - самое стабильное ядро с математически доказанной безглючностью
                            3) ага, недавно сам на него глянул, вроде как симпатишный...
                            Ответить
                  • вот еще отличная цитата

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

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

                      >объекты в них можно только создавать
                      вообще в общем случае даже это недоступно, возьмем тривиальный пример с qsort
                      qsort [] = []
                      qsort (x:xs) = qsort [y | y <- xs, y < x ] ++ [x] ++ qsort [y | y = x]

                      неподготовленный с первого взгляда не поймет где собака зарыта объекты создаются
                      Ответить
                      • > а что насчет фейла с алгебраическими типами данных?
                        я фанат жосткого и правильного ООПа - "одна проблема - один класс"...
                        Ответить
                        • ну все)) замкнули круг и опять в том же месте)
                          ну неправильный это подход к ооп
                          ооп специфично, а "одна проблема - один класс" - это и есть следствие отсутствия правильной модульной системы
                          Ответить
                        • > я фанат жосткого и правильного ООПа - "одна проблема - один класс"...

                          раньше говорили "я фанат жосткого и правильного процедурного программирования - "одна задача - одна процедура""
                          Ответить
                          • ну скоро будут говорить "я фанат ФП" - "одна задача - одна пара скобок"
                            Ответить
                          • Я фанат программирования: одна задача - одна программа.
                            True Unix way.
                            Ответить
                      • Кстати, пример хуёвый. И памяти жрёт дохера, и для изначально упорядоченного массива O(n^2) даёт.
                        Ответить
                      • Этот пример реально заебли везде совать. Функционализм Головного Моска даёт опасные метастазы, люди пишут скобочки и радуются этой хуете, что "не надо думать и компилятор сам разберётся". Как же, нам неинтересно, что там внутри, нам абстракции высокого класса подавай и метапрограммирование.
                        Ответить
                        • не волнуйся так))
                          настанет час когда твой маленький и скукоженный мозжечок осилит что же там такое написано, главное верить и не сдаваться, и еще желательно перестать упарываться говном
                          Ответить
                          • "Кто упоротый, ты упоротый йопта" (q)
                            Ты илита, да. Не пробовал вести себя скромнее, добрее, что-ли? Или лугоффски-моде-он и все, кто не понимают скобочек - нелюди, ублюдки и тупые мрази?
                            А ещё мне и не надо понимать того, что это, как оно работает и зачем оно работает. Я занимаюсь совершенно другими вопросами, мне неинтересны декларативные поделки. Я прекрасно знаю, как работают алгоритмы, если чего-то не знаю, так перечитаю Кнута.
                            Как правильно пишут здравомыслящие люди, среды нужны для интеграции индусов. Как правильно отмечают не менее здравомыслящие люди, подобный холивар не стоит и выеденного яйца. Я не спорю, в языке могут быть тактические просчёты. Тем не менее, не стоит гордиться только тем, что ты знаешь эти скобочки. И что ты безумно горд, потому что у тебя ФГМ. И что ты весь из себя такая илита. Ваши полуидеи имеют обычно чисто академический интерес.
                            Dixi.
                            Ответить
                            • dixi ты такой фееричный ебонат, что аж умиляет.
                              ты щас всем показал насколько ты слаб умишком, раз не понял, что холивар тут был just for lulz. и напирание на тему фгм какбэ недвусмысленно намекает на твою неполноценность, как ты верно выразился подобные тебе - нелюди, ублюдки и тупые мрази, иди, учись отличать жизнь от срача в каментах, а то из палаты еще дооолго не выпустят
                              Ответить
                            • > Я занимаюсь совершенно другими вопросами, мне неинтересны декларативные поделки

                              правильно, ты обезьянка и занимаешься ручным перекладыванием кирпичиков. на такую проблемы в цивилизованном мире принято набирать не привыкших думать азиатов типа индусов, китайцев или турков, а ты, видимо, сам решил выбиться в люди?
                              Ответить
                              • ну как бе китайцев трогать не надо... уверен что через 10 лет все СНГ будет на них аутсорсить...
                                ну и небольшой факт из жизни: одаренных детей в индии больше чем детей в США...
                                Ответить
                        • этот пример - типа хелловорлда, чтобы не обременённые моском фонаты ООП могли хоть что-нибудь понять. если им показать настоящий рабочий код на функциональном языке хотя бы в десять строк - они начнуть есть говно и реветь.
                          Ответить
                          • кто-то тут говорил что С++ нечитаем и нелогичен... а код от которого хочется есть говно и реветь наверно сверхчитаем и сверхлогичен...
                            Ответить
                  • по сути статья является одой во славу Лисп... замени Лисп на С++/Питон/Яву/ПеХаПе смысл не поменяется... статья холиварна по своей сути... неучтен факт того что каждый успех уникален, и успешное повторение успеха тоже уникальный случай... уверен что создание компании программирующей на лиспе это еще не шаг к созданию успешной компании, но статья постоянно давит на этот факт (очень попахивает заказухой, типа выбирайте СиШарп и экономьте 1000 человекочасов в месяц или $1000 на зп сотрудников)...
                    Ответить
                    • нет, не заказуха, Пол ее писал уже после того как стал миллионером (именно так).
                      лисп на пхп при всем желании не поменять, ибо лисп мощен, возможно мощнее того же эрланга
                      Ответить
                      • Настолько мощен, что его боятся использовать.
                        Ответить
                        • бывает и так.
                          обезьянки боятся огня, а кто-то доменные печи спокойно строит (надеюсь, твой неполноценный умишко понял метафору)
                          Ответить
            • "Удобны" ?
              Уважаемый, но у вас действительно не лады с логикой. По сравнению с модулями ML, или той же Ады неймспейсы С++ - ничто. Их даже сравнивать не имеет смысла - они ортогональны.
              Ответить
              • я так понимаю ни один из вас ими не пользовался... с задачей разделения классов на группы они справляются.. что еще нужно? к чему эти пуки в воздух?
                я ими пользуюсь... я часто вижу их использование в сторонних библиотеках... ЧЯДНТ?
                Ответить
                • >я так понимаю ни один из вас ими не пользовался
                  неправильно понял
                  >с задачей разделения классов на группы они справляются
                  это не та задача, но даже в этом случае с++ ущербен
                  > к чему эти пуки в воздух?
                  вот и я задаюсь этим вопросом, зачем бздеть не разбираясь в теме
                  >я часто вижу их использование в сторонних библиотеках.
                  см. про миллион мух
                  Ответить
                  • давайте оставим в стороне аргументы типа "все долбоебы, один я д'Артаньян", спор от этого станет только интереснее... допустим я тоже считаю что все мухи слетелись на всякие C#/Java/Python/PHP и они не ошиблись... Да С++ очень сложный, очень, очень-очень сложный... его смогли осилить 1 из 5 которых я знаю... и половина из осиливших пользуются им на уровне С с классами и неймспейсами... мне понадобилась неделя чтоб написать сайт на PHP, пара дней чтоб освоить основы питона, неделя чтоб спроектировать первую игру на Яве, и 2 года чтоб перестать использовать С++ как С с классами и еще пара лет чтоб научиться выжимать из него эффективность и еще неизвестно сколько лет я буду оттачивать свое мастерство, читая таких же как и я, которые ценят каждый такт и каждый байт, и ищут методы как бы написать это на одну строку меньше (к стати как ни парадоксально, большинство иностранных авторов надрачивающих на такты и байты пишут на шарпе (я где-то тут выкладывал ссылки на кеш-оптимизацию), на С++ все надрачивают на красоту кода, а читая русские блоги, ситуация абсолютно противоположная... разные задачи? или разное отношение к своему продукту?)...
                    Ответить
                    • >С++ очень сложный
                      причина в нелогичности

                      >пользуются им на уровне С с классами
                      причем частенько ооп применяют неверно и не в тех местах

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

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

                              "Но гораздо реже понимают то, что существует и более общий принцип: при наличии выбора из нескольких языков ошибочно программировать на чем-то, кроме самого мощного, если на выбор не влияют другие причины."
                              Ответить
                              • это как раз пояснение какой язык является более мощным в определенных ситуациях...
                                Ответить
                                • Ты споришь с людьми, которые на своем любимом мощном языке не сделали ничего серьезного, и лишь восхваляют его тут и там, засирая все остальное.
                                  При этом и дураку понятно, что будь они действительно теми, за кого стараются себя выдать, они бы отдавали себе отчет о том, что и в их лиспе есть куча недостатков.
                                  Ответить
                                      • чтож ты так о себе не лицеприятно отозвался.
                                        понятно, что мартышкам списки не нужны, а вот людям надо
                                        Ответить
                                          • тредом ошибся, тебе в 2995, только анальную смазку не забудь, а то натрут тебе чего-нибудь ненароком - опять виноватых искать будешь
                                            Ответить
                                            • Говоришь из своего опыта? В 2995 уже натёрли? Вижу, что учитесь на своих ошибках.
                                              Ответить
                                              • что ты деточка,
                                                таких как ты редиректил туда, да только никто не возвращался - очевидно что-то нехорошее происходило, вот теперь решил хоть советом помочь болезным имбецильчекам
                                                Ответить
                                                • Вам подарить пемзу, что-бы вы содрали все мозоли из вашего ануса?
                                                  Ответить
                                                  • ололо) я смотрю тут кое-кто другой в анальных вопросах подкован)) ни разу не палимся, да?
                                                    Ответить
                                                      • ну я смотрю ты уже расслабился и чувствуешь себя как в своем гей-клубе уже и в позу встал, пидарок.
                                                        тред 2995 без следа не проходит - факт
                                                        Ответить
                                                          • какая упоротая обезьянка.
                                                            что, гнилой банан большие белые люди на обед дали? или тебя банально выебли этим самым бананом ? =)
                                                            Ответить
                                                              • не дают? тебе и не светит - так уж получилось что ты - ущербен. просто прими это и можешь спокойно резать вены/прыгать под поезд или с моста, в общем выдумывай, фристайли - хотя бы последние часы жизни проведи достойно
                                                                Ответить
                                    • Понимаешь, любая вещь, созданная людьми несовершенна.
                                      Или твой лисп сам боженька создал и передал человекам?
                                      Ответить
                                      • И какие в нём недостатки? Он абсолютно идеален.
                                        Ответить
                                      • >>>>Или твой лисп сам боженька создал

                                        как ты догадался?
                                        Ответить
                                    • Вообще палю школьника, жуткие попаболи в вопросах опыта применения.
                                      Ответить
                      • "Solving Environment" takes forever, as always, and it remains without result. #11919
                        Speed up your Conda installs with Mamba
                        core parts of mamba are implemented in C++ for maximum efficiency


                        А как же так, тупая скриптоблядь? Ты же пиздела, что тупая мартышка может написать гоавна на скриптосмегме, а потом придет умный JIT и "молча всё исправит", а теперь твоя поебота работает 4 часа, а тула на C++ 10 секунд?

                        Скриптоблядь пиздливая анскильная скриптоблядь
                        Место скриптобляди на помойке со всем её скриптоговном

                        Просто спустите в унитаз всех шаблонизаторы, и "языки" для мигания статус баром в браузере вместе с прокладками между унитазом и ноутбуком, и найтимите настоящих программистов на настоящем ЯП


                        https://github.com/conda/conda/issues/11919
                        Ответить
                        • Да, C++ сложнее джаваскриптов. Это значит, что вы больше не сможете нанимать барист, переучившихся в программитсов на недельных курсах. Вам придется искать настоящих программистов. Иногда даже с вышкой. Зато ваши программы вместо четырёх часов будут работать 10 секунд. Стоит-ли оно того?
                          Решать вам
                          Ответить
  • Опять студенты и как код работать вообще будет?.
    в дефайне NAT большими, но переменная const nat
    Ответить
    • это были исходники по численной математике (в данном случае - аппроксимация МНК)

      в наборе было много *.h и *.cpp, которые были переплетены между собою и в каждом из которых было своё обьявление НАТ, в одном модуле nat в другом: NAT...
      Ответить
      • NAT - это network address translation, а аппроксимация, несомненно, МПХ!
        Ответить
  • Каждый день на говнокоде в разделе С++ превращается в ФЯП VS С++ и у сторон всё ещё не иссякают аргументы.
    Я начинаю думать, что С++ какой-то особенный, что способен конкурировать со всеми ФЯП языками, да и прочими. 😀

    Самое интересное, это что в других разделах такого нет... Например нет Руби VS ФЯП или C# VS ФЯП. Никто кроме С++ на это не способен? 😀

    А казалось бы языки C++ и ФЯП вообще не сравнимы...
    Ответить
    • согласен, но всегда появляется тот кто пытается... и тут как всегда начинается холивар...
      Ответить
    • > Самое интересное, это что в других разделах такого нет... Например нет Руби VS ФЯП или C# VS ФЯП. Никто кроме С++ на это не способен? 😀

      потому что с++ - самый мейнстрим.
      вот майкрософт - самая крутая корпорация (по крайней мере была до гугла), её тоже поливали и поливают говном изо всех шлангов.

      а руби вообще нафиг никому не сдался
      Ответить
  • Почему любители ФЯП приводят аргументы именно против С++?
    Почему бы не зайти в раздел Питона и сравнить его с ФЯП?
    Определенно, любители ФЯП тоже пытаются скрыто рекламировать С++... Может это даже один и тот же человек?
    Ответить

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

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

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


    8