LINUX.ORG.RU

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

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

ну это в твоей голове. нужно еще сделать уточнение, что в скриптовых языках не только типизация динамическая, а вся программа динамически собирается в райнтайме:

if ($cond) {
  require_once "lib/foo.php";
} else {
  require_once "lib/bar.php";
}

А еще всякие eval=evil есть, возможности сбрасывать кеш модулей и тп. Вот возьмем какой-нибудь код:

a: int = 42
b: str = "foo"
print(a + b)

Какой смысл тут в статической проверке типов? Ну запущу я mypy, он скажет нельзя число и строку складывать, но если я запущу скрипт напрямую, то он дойдет до этого места и так же вывалит ошибку, что складываю число и строку… А VSCode подсветит мне код красным и даже без указания типов.

Вся тема просто пропитана нетерпимостью и нежеланием последовать довольно правильному совету:

Завтра ищешь в интернете книжку Dive into python…

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

ну это в твоей голове. нужно еще сделать уточнение, что в скриптовых языках не только типизация динамическая, а вся программа динамически собирается в райнтайме:

if ($cond) {
  require_once "lib/foo.php";
} else {
  require_once "lib/bar.php";
}

А еще всякие eval=evil есть, возможности сбрасывать кеш модулей и тп. Вот возьмем какой-нибудь код:

a: int = 42
b: str = "foo"
print(a + b)

Какой смысл тут в статической проверке типов? Ну запущу я mypy, он скажет нельзя число и строку складывать, но если я запущу скрипт напрямую, то он дойдет до этого места и так же вывалит ошибку, что складываю число и строку… А VSCode подсветит мне код красным и даже без указания типов