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

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

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

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

Создание и конфигурирование сжатых дисков
Периферийные устройства ПК
Правовые аспекты
Отложенная печать документов
Открытие, сохранение, создание проекта
Определение формата таблицы FAT
Создание, использование и распространение вредоносных программ для ЭВМ
Микширование аудиодорожек
Смена поколений
Создание, использование и распространение вредоносных программ для ЭВМ (ст. 273 УК)
Как Выбрать Принтер?
Математические модели
Электронные платы
Склонность CompactPCI- продуктов к быстрому устареванию
Базовая система классов Java
Потенциальные пользователи в сети Internet
Локальная Сеть На Основе Протокола Csma-Cd
Экспертные системы
Технологии АТМ
Реализация кабельной системы
Место кибернетики в системе наук
На рынок выходит недорогая GSM/GPS сигнализация
Компьютер и инвалиды
Компонентные инфраструктуры
Обзор Конвертеров Для Видеофайлов
Государственное регулирование информатизации Украины
Расследование нарушения правил эксплуатации ЭВМ: системы ЭВМ или их сети
TCO '95
Обзор возможностей WinRAR 3.70 RU Final
Микропроцессоры использующиеся в CompactPCI-системах
РАСКЛАДКА ПРОВОДОВ
Проблема предотвращения формирования общества потребления
Использование буфера обмена
Режимы работы ЕС ЭВМ
Стандарты электронных расчетов
Защита вновь создаваемых программ
Способы просмотра документа
Обзор дисковых устройств
Корпоративные Информационные Системы (Crm, Erp, Системы Мобильной Торговли)
Задача, решаемая с помощью использования пакета электронных таблиц
Автоматическая Генерация Осмысленного Текста Возможна?
Некоторые Мысли По Защите От Спама
Сокращение занимаемого Windows XP дискового пространства
LIBCOM-2007: новинки высоких технологий от компании «Алее Софтвер»
Что Такое Кодеки И Где Их Можно Скачать
Замечания по региональной системе имен
Загрузка в альтернативном режиме
Аналоговые и цифровые схемы
Уголовно-правовой анализ ст? 274 гл? 28 УК РФ "Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети"
Печатающие устройства
Разновидности компьютерных преступлений
Просмотр видеодисков в формате MPEG 4 и DVD
Типы квантовых компьютеров
Легализация По. Цена Ошибки!
Обмен данными через промежуточный файл