Куча говна / Говнокод #22344 Ссылка на оригинал

0

  1. 1
-type maybe(A) :: A | nothing.

Erlang, dialyzer spec. Коротко и в точку.

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

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

  • SEO: #опердени #квазистатическийпитух #язнаюhaskell
    Ответить
    • лол, да 15 лет назад половина питонистов говорила тоже самое про стат типизацию. А теперь у них pep-484.
      Ответить
    • >>языку типизация вообще не нужна

      Лол! Единственный язык без типизации это forth
      Ответить
    • > отверждающие
      Хм. Не понял, как ты пришёл к выводу, фанаты диалайзера утверждают, будто типы не нужны. Скорее наоборот, динамический питух -- это печальное легаси.
      Тут говно в том, что maybe умудрились списать с хаскеля неправильно: что видно на примере maybe(maybe(A)) и maybe(term()).
      Ответить
      • > Не понял, как ты пришёл к выводу, фанаты диалайзера утверждают, будто типы не нужны

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

        > maybe умудрились списать с хаскеля неправильно

        Видимо, это надо было уточнить в комментарии к посту.
        Ответить
        • > quote
          Не стоит обобщать мнение одного человека, и тем более посетителя швабры, на фанатов диалайзера.
          > Видимо, это надо было уточнить в комментарии к посту.
          Мне это очевидным казалось.
          Ответить
          • > Не стоит обобщать мнение одного человека
            >> есть живые фанаты диалайзера

            Хм, похоже, пора писать кванторами, чтобы фразы интерпретировались правильно.
             фанат диалайзера f: мнение(f) содержит "хорошему программисту типы в 99% только мешают"

            ∃, а не ∀
            Ответить
              • Ого, спасибо за наводку, не слышал раньше о Рудольфе Карнапе.
                И Вена мне очень нравится

                Кстати, вот люди говорят, что, мол, разработка софта — это ремесло, а не техническая наука. Я не согласен. Мне кажется, разработка не слишком отличается от научной деятельности.

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

                Чем это отличается от того, что должны уметь делать программисты? Да ничем. У нас просто данных больше, и мы можем работать гораздо быстрее.

                * Нормальный софт нынче обвешан метриками (потребление памяти, процессора, диска, сеть, QPS, etc.), которые надо уметь правильно собирать и анализировать.
                * Все наши "оптимизации" без доказательств в виде реальных измерений метрик до/после — пустые слова и расход времени. Разумеется, желателен правильный эксперимент, чтобы одна и та же нагрузка проверялась разными версиями софта.
                * Багтрекер — это журнал с наблюдениями. По уму нужно класть туда всё, что может иметь отношение к "исследованию", все "улики": гипотезы и результаты их проверки, куски логов, участки кода, коммиты с фиксом, etc. А то воспроизводишь багу, закрытую 2 года назад, а там один коммент от разработчика: "Fixed".
                Ответить
                • "разработка софта" это очень широкое понятие. Бывает ремесло, а бывает и наука.
                  Ответить
                  • А уж разработка фронтенда/бекенда — это ещё более широкое понятие, чем разработка софта.
                    Ответить
            • Наконец дошло, как были расставлены акценты в первоначальном посте.

              Тупею, так что да, кванторы нужны.
              Ответить
  • >>https://habrahabr.ru/post/321862/#comment_10076362
    >>А жесткая типизация приводи

    Ай, мели емеля, твоя неделя: статическая типизация равно жесткая типизация и противопоставляется отсутствию типизации
    Ответить

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

Где здесь C++, guest?!

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


    8