LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

Как показывает практика, никому как раз не нужна верификация времени компиляции. Слишком много затрат.

Когда верификация нужна, нужна именно верификация времени компиляции. А так да, на практике хватает просто проверки типов.

А то, что динамические системы типов более выразительны - проблема разве что для тех, кто сопровождает такой выразительный код.

Да нет, никакой проблемы как раз нет.

Если есть код - есть и проблема, даже две. Вторая - в том, что «giving people dynamic languages doesn't mean that they write dynamic programs», так что для _использования_ всех чудес динамической типизации нужно постараться.

Слабые системы типов вроде хаскеля никаких интересных гарантий получить не дают, только ограничить возможность сложения слонов с бегемотами (а такие ошибки и так элементарно отлавливаются с околонулевыми затратами)

В Хаскеле они отлавливаются компилятором, а в динамике для этого приходится работать руками. Впрочем, если ты работаешь руками быстрее, чем работает компилятор Хаскеля... окей, у тебя different tradeoff.

тайпчекер ошибку может выдать как угодно далеко от места, где она случилась

Есть языки и помимо Хаскеля.

Исходная версия tailgunner, :

Как показывает практика, никому как раз не нужна верификация времени компиляции. Слишком много затрат.

Когда верификация нужна, нужна именно верификация времени компиляции. А так да, на практике хватает просто проверки типов.

А то, что динамические системы типов более выразительны - проблема разве что для тех, кто сопровождает такой выразительный код.

Да нет, никакой проблемы как раз нет.

Если есть код - есть и проблема, даже две. Вторая - в том, что «giving people dynamic languages doesn't mean that they write dynamic programs», так что для _использования_ всех чудес динамической типизации нужно постараться.

Слабые системы типов вроде хаскеля никаких интересных гарантий получить не дают, только ограничить возможность сложения слонов с бегемотами (а такие ошибки и так элементарно отлавливаются с околонулевыми затратами)

В Хаскеле они отлавливаются компилятором, а в динамике для этого приходится работать руками. Впрочем, если ты работаешь руками быстрее, чем работает компилятор Хаскеля... окей, у тебя different tradeoff.