Главная | Соглашение | Публикация статей

Типизация
Категория: Статьи

Второе различие между языками ассемблера и языками программирования системного уровня состоит в типизации. Я использую этот термин для обозначения того, до какой степени значение информации бывает определено еще прежде, чем приходит время ее использования в программе. В сильно типизированных языках требуется, чтобы программист заранее декларировал способ использования каждого фрагмента информации, и затем уже языковые средства препятствуют применению ее каким-либо иным способом. В слабо же типизированных языках на способ обработки информации не налагается предварительных ограничении; интерпретация каждого элемента данных определяется только тем, как он фактически используется, без учета каких-либо предварительных объявлении.
Современные компьютеры устроены таким образом, что им не известно понятие типа. Каждое слово памяти может содержать значение любого типа; целое число, число с плавающей запятой, указатель или машинную команду. Интерпретация значения определяется способом его использования. Если указатель следующей машинной команды указывает в процессе исполнения машинной команды на некоторое слово в памяти, то оно и рассматривается как команда; если адрес слова задан в параметрах команды целочисленного сложения, то его значение и обрабатывается как целое число; и т. д. Одно и то же слово памяти может использоваться в различных случаях разными способами.
В противоположность этому для современных языков программирования характерна строгая типизация. Каждая переменная в языке программирования системного уровня должна быть объявлена с указанием конкретного типа, такого как целое число или указатель на строку символов, и затем использоваться только соответствующими этому типу способами.
Данные и программный код разделены; создание нового кода по ходу исполнения программы затруднено, если вообще возможно. Переменные могут объединяться в структуры или объекты с четко определенной субструктурой и методами манипулирования своими компонентами. Объект одного типа не может быть использован в ситуации, где предписано применение объект другого типа.
Языки описания сценариев создавались для связывания готовых программ. Их применение подразумевает наличие достаточного ассортимента мощных компонентов, которые требуется только объединить друг с другом.
Типизация дает ряд преимуществ. Во-первых, крупные программы становятся благодаря ей более управляемыми. Четкость системы типов делает для программиста ясным, для чего предназначены те или иные данные; он легко может различать их между собой и соответственно использовать. Во-вторых, компиляторы используют информацию о типах для обнаружения некоторых видов ошибок, таких как попытка, использовать число с плавающей запятой в качестве указателя. В-третьих, типизация повышает производительность приложения, позволяя компиляторам генерировать более специализированный код. Например, если компилятору известно, что некоторая переменная всегда содержит целочисленные значения, он может генерировать для манипулирования ею целочисленные инструкции; если же тип переменой компилятору неизвестен, то приходиться вставлять дополнительные инструкции для проверки типа во время исполнения.
Типизация

Статьи по теме:

Компонентные инфраструктуры
Перемещение данных в рабочем листе
3Ds Max 2008 (Rip)
Горизонтальная подсистема
Информация. Информационные процессы. Информационные технологии
WordPad: Вставка времени и даты
РАЗВИТИЕ ИНФОРМАЦИОННОГО ОБЩЕСТВА
Память
Определение структурированной кабельной системы
Излучение
Признаки проявления вируса
Выбор системы видеонаблюдения
Мониторы сегодня
Механический подход
Табличный процессор Excel 7.0. Основная информация и технические характеристики
СФЕРЫ ПРИМЕНЕНИЯ КОМПЬЮТЕРОВ
Подготовка к эксплуатации
Темп развития CompactPCI
Активация Windows XP
Максимальная разрешающая способность
Агрегатный принцип построения ЭВМ
Программа 1С Бухгалтерия Предприятия 8
Политика ограничений Microsoft Internet Explorer
Заливка области рисунка
ОСНОВНЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ САПР
Бесплатный софт для всех!
Отличительные особенности. Экспертные системы первого и второго поколения
Компьютер-помощник конструктора
Приостановка печати документа
Почтовые псевдонимы
Диспетчер печати
Бесплатный сыр и как избежать мышеловки
Что такое стандарт CompactPCI?
Общие черты CASE-средств
База знаний
Микротравмы
Задача, решаемая с использованием систем управления базами данных
Призначення і класифікація ПП
Длина файла
Хищение компьютерной информации
Интегральные схемы
Печать фотографий через Интернет
Перезапуск задач печати
Импорт файлов в проект
Функции BIOS для работы с дисками
Обзор дисковых устройств
Компьютеры как средство общения людей
Система адресов X.400
Как сделать правильный выбор? 1С:Предприятие 7.7. или 8.0
Нелокальные переходы в UNIX
Защита электронной почты
Обмен данными путем перетаскивания
«ВАКЦИНАЦИЯ» ПРОГРАММ
Нейронный подход
Самая популярная операционная система сегодня для CompactPCI систем