Cтраница 1
Строгий контроль типов на этапе трансляции является обязательным требованием, предъявляемым к современному языку программирования. Более того, строгий контроль типов должен осуществляться и в случае раздельной трансляции, причем как для разделяемых данных, так и для параметров. [1]
Язык Ада обеспечивает проведение строгого контроля типов, что позволяет выявить значительное число ошибок на этапе трансляции. [2]
Проблемы, связанные со строгим контролем типов при раздельной трансляции в языке Паскаль, удается избежать, запретив раздельную трансляцию. И хотя значительное число реализаций трансляторов с языка Паскаль допускает раздельную трансляцию, в каждом отдельном случае при этом используются различные пути достижения этого, обеспечивающие различную степень строгости проверки типов. [3]
Программистам иногда необходима возможность нарушить правила строгого контроля типов. [4]
Фортран не относится к языкам со строгим контролем типа. То есть явное определение типа каждой переменной по правилам Фортрана не требуется. Обьект, тип которого не определен явно ни в одном из операторов описания, типизируется по правилам неявного определения типа. [5]
В языке Ада обеспечивается возможность использования механизма явного указания на необходимость нарушения правил строгого контроля типов: предопределенная библиотечная настраиваемая функция UNCHECKED-CONVERSION, позволяющая транслятору с языка Ада рассматривать любое значение как значение любого из допустимых типов. Этот механизм представляет собой идеальное решение проблемы, поскольку обеспечивает требуемую функциональность, несколько громоздок в использовании ( с длинными именами) и обеспечивает понимание намерений программиста для любого, кто захочет прочитать программу, в которой используется этот механизм. [6]
Более того, в языке Ада в распоряжение программиста предоставляется механизм нарушения правил строгого контроля типов путем явного указания на необходимость такого нарушения. Это делает намерения программиста понятными для любого, кто захочет прочитать программу, в которой используется, этот механизм. [7]
Правильно спроектированный язык программирования должен обеспечивать специальный механизм для того, чтобы нарушить правила строгого контроля типов, использование которого требует от программиста явно указать свои намерения. [8]
Строгий контроль типов на этапе трансляции является обязательным требованием, предъявляемым к современному языку программирования. Более того, строгий контроль типов должен осуществляться и в случае раздельной трансляции, причем как для разделяемых данных, так и для параметров. [9]
В языке со строгим контролем типов могут различаться константы, имеющие одно значение, но разные типы. [10]
Вирт называет его языком программирования с сильной типизацией. Однако в языке Паскаль отсутствует механизм, обеспечивающий возможность явного указания намерения нарушить правила строгого контроля типов, хотя для этого и имеются готовые средства - записи с вариантами. Поскольку в языке Паскаль отсутствуют средства, обеспечивающие контроль типов меток вариантов, то поля записей с вариантами представляют собой потенциальную опасность. Вирт пишет о потенциальной опасности отсутствия средств контроля типов меток вариантов, которое может стимулировать порочную практику программирования. [11]