1. C# / Говнокод #9934

    +959

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static string ParseUrl(string url, HttpContextBase context = null)
    {
          context.Items[QueryStringField.Tabs.OnlyTabContent] = false;
          ...
    }

    Запостил: beardeddev, 12 Апреля 2012

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

    • это в уже рабочем проекте такой чудесный метод?
      Ответить
      • Ещё не релиз версия, случайно обнаружил когда юниты писал (
        Ответить
    • Это как это? Разве не "Default parameters specifiers are not permitted" в C#?
      Ответить
    • сначала прочитал автора как "beardvedev"
      Ответить
    • это называется "побочный эффект"
      мля, ща миссионеры ФП набигут...
      Ответить
      • Причем в несовременном и несистемном С++ можно передать объект по константной ссылке (или по значению), и тогда будет понятно, что объект в данной функции не меняется.
        А в новом удобном надежном объектно-ориентированном C# таких средств нет. Мы стали более лучше программировать!
        Ответить
        • раз - это слизано с джавы
          два - чем меньше ключевых слов, тем лучше, бо [много ключевых слов] слишком сложно для кодомакак со словарным запасом Эллочки-"людоедочки"
          Ответить
          • А мне нравятся языки с минимумом ключевых слов и простой семантикой. В лиспе вон вообще непонятно, что считать ключевыми словами: при наличии мощной макро-системы можно определить свои управляющие конструкции, например, с блекджеком анафорические.
            Ответить
            • >можно определить свои управляющие конструкции, например, с блекджеком анафорические

              И как чужой код потом читать? %-)
              Ответить
              • нормально, если честно. Обычно вполне хватает встроенных управляющих конструкций, а новые вводятся обычно для того, чтобы ввести некий DSL ( (html [:a {:href "http://google.com"}]) ) или управление ресурсом (with-open-file, with-redis, with-db, ...), поэтому код читается довольно просто.
                Ответить
                • То ли полезно, то ли переусложнено...
                  Ответить
                  • на самом деле всё просто, гораздо проще (и мощнее) крестовых шаблонов
                    Ответить
                    • Хватит уже меня лиспами соблазнять :3
                      Ответить
            • > конструкции, например, анафорические
              > анафорические
              Отсылка к High Order Function?
              Ответить
              • нет, anaphoric macros - это макросы, вводящие специальные символы, ссылающиеся на ранее вычисленные значения. Классический пример - aif, определяющий символ it, связанный со значением выражения в условии
                http://ideone.com/cIJa2
                Это полезно, поскольку в условии if в лиспе может быть произвольное выражение (списки, объекты и т.п.).
                Ответить
                • Я только с 5-ого раза понял, что тут происходит
                  Ответить
                  • если привыкнуть, то вполне читаемо
                    Ответить
                  • Без подготовки понять определение лисповых макросов довольно сложно, но, к счастью, этого не требуется. Достаточно понять, как ими пользоваться. А это последние две строчки.
                    Ответить
            • в принципе, если разграничить ключевые слова и пространство имен (например, как в том же пехепе, долларом), то вообще можно забыть такое понятие как ключевые слова...
              Ответить
            • Я понимаю что фанаты лиспа сейчас меня живьем в землю закопают, но! По мне так Лисп - это чистейшей воды эзотерический язык (читай сомнительной полезности).
              Ответить
              • Я используют Emacs, и он мне нравится. Как и миллионам других людей. Что вы на это скажете?
                пользователи автокада тоже в недоумении
                Ответить
                • В автокаде ещё визуальный бейсик был. Интересно, есть статистика по соотношению?
                  Ответить
                  • Статистика общеизвестна - 95/5.

                    >Как и миллионам других людей.
                    Миллионы мухлюдей не могут ошибаться.
                    Ответить
                  • Гимп тоже каким-то лисп-подобным языком пользуется... но тут фишка скорее в том, что проще реализовать. Написать интерпретатор лиспового синтаксиса - это вообще смешно, совсем просто. Вот реализовать стандартные функции - это уже много работы.
                    Ответить
                    • Простота синтаксиса? Ну разве что. Но это преимущество для специфического круга задач (встраиваемые языки).
                      Ответить
                      • Тем более что есть реализации ECMA. По крайней мере, в Qt...
                        Ответить
                        • Только ES по определению гораздо более убогий, чем даже самая простецкая реализация Лиспа. А для некоторых задач в принципе не применим, хотябы уже изза ограничений в типах данных (нет возможности double передать ни туда ни обратно, нет возможности получить массив байтов).
                          Тут все сводится к тому, что либо есть хороший инструмент, которым не всем удобно пользоваться, либо есть плохой инструмент.
                          Ответить
                • Лучше бы там схема была, может когда-нибудь в guile впилят поддержку (прогресс есть).
                  Ответить
                  • Я тоже так считаю, особенно убивает отсутствие лексического контекста. Edwin - клон емакса со scheme внутрях - почему-то не получил особого распространения.
                    Ответить
                • Э, а причем тут емакс? Как пример? Так я и не спорю, что на Лиспе можно писать, он же Тьюринг-полный.
                  Просто, на мой взгляд, в стремлении к чистоте концепции Лисп пожертвовал практичностью.
                  Да, программу можно представить в виде списка списков списков. Я просто не вижу какие преимущества от этого можно получить.
                  Ответить
                  • > причем тут емакс
                    Большая часть редактора написана на диалекте Emacs Lisp. По мне так плагины для емакса писать часто приятнее и проще, чем, к примеру, плагины для Eclipse.
                    > не вижу какие преимущества от этого можно получить
                    Макросы. Сложно рассуждать об этом, не имея чёткого представления о лисповых макросах.
                    Ответить
                  • А вопрос что ли был о коммерческом применении / известных проектах?
                    Если да, то тогда вот: http://www.cyc.com/ это даже своего рода живая легенда :) Оккультизм, виккианство, друиды и вообще тайные знания всякие :) Они даже в последние время на халяву попользоваться дают.

                    По поводу практичности - даже не знаю, что и сказать. Мне если нужно какую-то механическую работу сделать связанную с компом (базу данных заархивировать или кронтаб проапдейтить и т.п.) я обычно таки на CL сделаю (так же, как, наверное, человек который пишет на Перле или Питоне сделает это на любимом языке, а не на баше, т.как просто мозги так быстрее работают). Так что ну уж по крайней мере с точки зрения практичности никаких особых претензий нет.
                    Есть объективные недостатки: синтаксис - у некоторых вызывает аллергию, нет какой-нибудь большой корпорации, которая бы язык продвигала, писала фреймворки и т.п., и поэтому интырпрайз зектор забил.
                    Ответить
          • Кроме Джавы, возможно, повлияли требования совместимости с COM.
            Ответить

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