]]> ]]>

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

Строгая типизация обычно означает, что язык программирования задает некоторые ограничения на смешение операций над разными типами данных.

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

  • в языке со строгой типизацией запрещены изменения типа переменной в течение времени ее жизни;
  • язык со строгой типизацией проверяет возможность возникновения ошибки типизации перед выполнением каждого оператора и в случае возникновения ошибки гарантирует возникновение соответствующего исключения или определенной ошибки. Альтернативой является простое выполнение оператора и неопределенное поведение (вплоть до аварийного завершения программы) в случае возникновения ошибки;
  • в языке со строгой типизацией запрещены преобразования типов данных;
  • в языке со строгой типизацией разрешены только явные преобразования типов данных;
  • язык со строгой типизацией не имеет встроенного способа избежать системы контроля типов (например, предоставления разработчику непосредственного доступа к низкоуровневому представлению данных);
  • язык со строгой типизацией должен иметь развитую высокоспециализированную систему типов данных с составными типами данных. Альтернативой являются системы типов, состоящие всего лишь из нескольких скалярных типов.

Строгая типизация является противоположностью нестрогой типизации.

Языки программирования, использующие данную типизацию:

Работа программистам