Си диез / Говнокод #9231 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
class Program
{
    static void Main(String[] args)
    {
        for (int i = 0; i < 10; i++)
        {
            Main();
        }
    }
}

Студент выдал такое в ответ на задание написать код, вызывающий функцию 10 раз. Пол часа бедняга втыкал откуда стэк оверфлоу...

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

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

  • не скомпилиццо. метод требует массив стрингов как параметр
    Ответить
  • нельзя начинать обучать студентов программированию с шарпов.
    Ответить
    • Никто и не начинает, они все паскалИ-дельфятники... хотя будь моя воля, я бы начинал с додиезов, а почему нет?
      Ответить
      • а что в дельфопаскале про выход из рекурсии не слышали?
        Ответить
        • ну, есть люди, которые по определению никогда и ничего не слышат... ну этому я подправил зачётку, пусть повеселится )
          Ответить
        • Дельфопаскаль сам выходит из бесконечной рекурсии!
          Ответить
      • >хотя будь моя воля, я бы начинал с додиезов, а почему нет?
        1. Не надо перегружать мозг ООП, начните со структурного программирования;
        2. C# очень сильно завязан на MS, а это сильно сужает область его применимости;
        3. Наличие всевозможных готовых библиотек угнетает процесс обучения будущего программиста.
        Ответить
        • Ну, наверное потому что я начинал со структурного, на меня уже рамки диеза не так сильно влияют, и я замечаю только сахар... согласен.
          Ответить
        • 1. обучение программированию с ООП конечно начинать нельзя
          2. можно преподавать на Моно
          3. в мире программирование в основном преподают на Яве. и это отлично у них получается
          Ответить
          • Но ява это же ООП ))
            А на яве преподают из-за прекрасной кроссплатформенности, но если вы знаете и C# и Java, то понимаете, насколько они похожи...
            Ответить
            • да, конечно
              я хочу сказать что преподавание программирования на управляемом ООП языке - ок
              и неважно какой это язык (скорее несет маркетинговое значение)
              Ответить
              • То есть вы противоречите сами себе?
                >1. обучение программированию с ООП конечно начинать нельзя
                >я хочу сказать что преподавание программирования на управляемом ООП языке - ок

                Или во втором случае это уже не начало обучения? )
                Ответить
                • не начало.
                  мой первый язык - VB5. В институте - Pascal, но я попросил разрешение писать курсовую уже на Си, чему очень рад.
                  Ответить
                  • >В институте - Pascal, но я попросил разрешение писать курсовую уже на Си
                    Тарас бы не разрешил.
                    Ответить
                      • It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. 1999 - 1975 = ?

                        И ведь добрые преподаватели пытались помочь слезть с него, но безуспешно.
                        Ответить
                        • "<...> Резиг программировал на QBasic ... <...> ... только начал программировать на Visual Basic. <...>" из статьи в википедии (http://ru.wikipedia.org/wiki/Jquery) об создателе JQuery. Он по вашему тоже никто?
                          Ответить
                            • Скандинавский бог Тор[вальдс] запрограммировал в свою кувалду режим бумеранга ... привет из Голливуда 🙂
                              Ответить
                              • А Торвальдс финн али швед? Потому как финнам не досталось ничего тороидального.
                                Ответить
                          • Действительно, кто такой Дейкстра по сравнению с виликим саздателем jQuery? 😀

                            > Он по вашему тоже никто?
                            Скажем так, МакДональдс потерял способного переворачивальщика гамбургеров, когда юный Джонни заработал себе на PC и MS-(DOS|Windows).

                            А с чего это диезники начали петь дифирамбы Резигу? Мне шаблон порвало.
                            Ответить
                            • Я вообще себя не причисляю ни к "диезникам", ни к кому другому. Программист я.
                              Ответить
                            • И Джонни заслуживает ровно таких же деферамбов как какой либо другой достойный программист, ни больше, ни меньше.
                              Ответить
                              • > Программист я
                                Хорошо, что прояснили, а то я уже начал сомневаться, почитав ваши письмена 😉

                                > деферамбов
                                Ответить
                        • Любезный, ви серьёзно не видите разницы между VBS и Basic?..
                          Ответить
                • Сочувствую тем, у кого
                  >программирование на управляемом ООП языке
                  было в начале обучения
                  Ответить
                      • Знаю народ, что начали свой программистский путь с языков с GC, теперь так пишут как-будто GC есть во всех языках. Профессиональная деформация. Начали бы с чего-нибудь другого, окрепли, а там уж можно и на язык с GC пересесть.
                        Ответить
            • > C# и Java, то понимаете, насколько они похожи...
              Как раз последнее он пытается яростно отрицать 🙂
              Ответить
    • Ключевая часть "нельзя начинать обучать студентов программированию", пока не изучили "теорию программирования" кто получил неуд, исключать без пересдачи.
      Ответить
    • Правильнее сказать, не исполняется, а запускается, но с той же ошибкой. Компилится - это да, но того же резалта можно добиться без парамса если убрать String[] args вовсе...
      Ответить
      • >не исполняется
        Вы хотите сказать, что программа не исполняется, после того как она запустилась? Ну то что программа говно то ясно, но она исполняется VM CLR.
        Ответить
        • С вашей точки зрения - да, исполняется. Но я вкладывал в слово исполняться немного другой смысл, не процесс работы - то есть выполнения программы, а процесс её успешного завершения - то есть момента, когда мы можем сказать: "эта программа исполнилась/выполнилась". А в нашем случае этот момент наступает по возвращении errorlevel = 0, и этот момент при данном коде никогда не наступит, т.к. мы получаем при попытке исполнить (именно в моём понимании слова) программу, нас посылает всё та же CLR на три буквы слова: Stack Overflow Exception
          Ответить
      • я бы сказал "завершается некорректно". это корректное высказывание?
        Ответить
  • Аргументы коммандной строки не являются обязательнымы
    с++
    An implementation shall not predefine the main function. This function shall not be overloaded. It shall
    have a return type of type int, but otherwise its type is implementation-defined. All implementations
    shall allow both of the following definitions of main:
    int main() { /* ... */ }
    and
    int main(int argc, char* argv[]) { /* ... */ }
    c#
    using System;
    class Hello
    {
    static void Main() {
    Console.WriteLine("hello, world");
    }
    }
    The entry point for an application—the method that is called to begin execution—is always a static
    method named Main.
    так что все коспилится
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8