1. Pascal / Говнокод #4652

    +100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    {Pascal}
    function f( a: boolean ) : boolean;
    begin
    if a then return := f(a) else return := false;
    end;

    При а - истина программа вылетит с переполненным стеком.

    Запостил: Govnocoder#0xFF, 16 Ноября 2010

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

    • Взято отсюда:
      http://otvet.mail.ru/comments/answer/280814070/
      Ответить
      • Где ты там такое взял?
        Ответить
        • В комментариях к вопросу есть этот код.
          Ответить
          • Это?
            function fib(n:integer): longint;
            begin
            if n<2
            then fib:=1
            else fib:=fib(n-1)+fib(n-2);
            end;

            Где здесь C++ то что написано выше?
            Ответить
            • топикастер - бабуин.
              классическая рекурсивная реализация алгоритма. говно в том, что последоватеьность - 0 1 1 2 3 5 8 и дальше. тоесть если считать числа не с нуля (обычно всетаки не с нуля) - то условия возврата единицы не "<2" a "<3".
              Ответить
              • Я не говорил о всём коде, который приведён в вопросе (см. пруфлинк), а только этот код, который я запостил.
                Ответить
                • кода который ты запостил в пруфпаге нет.

                  и что не так с тем кодом, который ты запостил? нужен был код для срыва стека - есть код для срыва стека. разве что параметр не тот. удобнее передавать возрастающую строку - сорвет быстрее.
                  Ответить
            • Тоже говнорешение, т.к. числа Фибоначчи при n < 2 не = 1. При n = 0 будет 0, для отрицательных идет чередование знака.
              Ответить
    • Вообще это всегда ржака, когда сишник пытается писать на паскале, не зная его.
      Ответить
      • а вот и ненадобно его знать
        Ответить
        • Это почему? Полезный язык для строгости мышления.
          Ответить
          • да
            но изучение Си дает не только СМ но и знание {-синтаксиса, что полезно в будущем
            где pascal-же синтаксис используется кроме SQL?
            Ответить
            • БД и СМ
              Ответить
            • Изучение Си не даёт СМ, наоборот, полная вседозволенность.
              Ответить
              • не уверен тогда что изучаение Паскаля таки дает СМ
                Ответить
                • Паскаль в разы строже, в нём трудно облажаться, он приучает не делать некоторые опасные вещи. Си этим качеством не обладает.
                  Ответить
      • Если интенсивно работать то за пару лет привыкаешь писать хоть на чем.
        Понятно что ляпы будут как у сишника, пытающегося писать код на паскале, так и у паскалиста, пытающегося писать код на си.
        В общем почти как у любого начинающего - все мы ими были.
        Предлагаю не холиварить на эту тему.

        А представленный код на годнокод не тянет - стормозил кто-то.
        Ответить
        • хм, у меня есть фактор риска привыкнуть к PHP/FI
          Ответить
          • >> PHP/FI
            Вы пишете на PHP 2?

            Расскажите о проекте подробнее. У вас там нет кстати места для программистов на алгол'68?
            Ответить
            • это был сарказм
              Ответить
              • да ладно ржать.
                я за два года с Си на паскаль переучился, хотя Си не забыл.
                Не спорю, это накладывает свой отпечаток.
                Ответить
                • Если серьезно к этому вопросу подходить, то надо пересчитать два года (рабочих?) на моё использование и таким образом вычислить поглощенную дозу PHP.
                  Ответить
                • >>я за два года с Си на паскаль переучилс
                  зачем?!!
                  Ответить
                  • по работе понадобилось, платили хорошо:)
                    Ответить
    • код - жуть!
      Ответить
    • Говнокод говно. Придумано сходу человеком не знающим Паскаль.
      Ответить
    • > При а - истина программа вылетит с переполненным стеком.

      Олень, программа даже не скомпилируется...
      Ответить
      • Бо не return, а result, тем более если Паскаль то Имя функции
        Ответить
        • Я еще удивился, что скобочки begin ... end, а не {...} поставил.
          Ответить
        • кстати говоря, аналог ретурн уже приделали, раньше не было
          Ответить

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