Строгая типизация


Subject: Строгая типизация
From: Sergei Romanenko (roman@integrum.ru)
Date: Thu Aug 12 1999 - 18:28:31 MSD


Уважаемые коллеги!

Обращаю внимание на путаницу, возникшую в связи с понятием "строгая
типизация".

В настоящее время в буржуазной литературе принято следующее толкование этих
понятий.

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

С этой точки зрения C и, например, PL/I - это языки не поддерживающие
строгую типизацию: например, в C приводим указатель к void *, а дальше -
гадим все подряд, как захотим (а о висячих указателях на уничтоженные
объекты я даже и не говорю).

Так вот, в шестидесятые годы Рефал поразил его первых пользователей
необычайной скоростью и легкостью отладки: чуть что не так - и
"отождествление невозможно". И этим приятным свойством Рефал был обязан как
раз тому, что он с самого начала был языком со строгой типизацией: ведь
Рефал-машина не давала никакой возможности надругаться над объектными
выражениями, разрушив корректную структуру.

Итак, если язык строго типизирован, то его реализация обязана автоматически
обеспечить целостность данных. Если это делается за счет проверок в
run-time, то говорят о строгой "динамической" типизации, а если это делается
в compile-time - то о строгой "статической" типизации.

В настоящее время имеется некоторое количество статей о привнесении
элементов динамической типизации в языки со статической типизацией.

Таким образом, считаю, что обзывать Рефал языком с "нестрогой типизацией" -
это явное (и незаслуженное) оскорбление Рефала (которое ставит его на одну
доску с C и PL/I).

Сергей

P.S.

Конечно, буржуазная наука нам не указка, и мы имеем полное право все
переназвать по-своему. Да только зачем мутить воду по таким тривиальным
поводам? Давайте лучше будем самоутверждаться более конструктивными и
убедительными способами.



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD