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

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

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

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

Жесткие диски
Как структура Internet сказывается на Пользователе?
Передача файлов (ftp)
Преимущества Мобильной Торговли
Netpromoter: Новые Возможности Профессиональной Интернет-Статистики
Quod licet Jovi non licet bovi
Возможность системы CompactPCI иметь более 8 слотов
Активация Windows XP
ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА
Система программного обеспечения ЕС ЭВМ
Характеристика антивирусных программ
"Адские" мифы
Перезапуск задач печати
Основные черты NetWare 3.x - 4.x
Возможности ввода/вывода
Полезные советы - программа Picasa
Замена стандартного ядра и HAL
Новые концентраторы и коммутаторы BayStack компании Bay Networks
Электронные таблицы «EXCEL»
Установка охранных систем - актуальность возросла!
Уголовно-правовой анализ ст? 272 гл? 28 УК РФ "Неправомерный доступ к компьютерной информации"
ЭВМ И ИНТЕЛЛЕКТ
Защита памяти в ЕС ЭВМ
Автоматизация Делопроизводства
TCO '95
Поисковые системы и каталоги ресурсов
Искусственный интеллект
Кредитные карты и Internet
Дополнительные программы Microsoft Internet Explorer
СТРУЙНЫЕ ПЛОТТЕРЫ (СП, INK-JET PLOTTER)
Внешние каналы украинского сегмента сети Іnternet
Расположение и размер корневого каталога
Запуск Windows
ПРЕСТУПЛЕНИЕ В СФЕРЕ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ
Прослушка И Антижучки - Гонка Технологий
Интеграция Ibm Rational Clearquest И Microsoft Project - Ключ К Успешному Планированию
CRT мониторы
Компания Lenel Интегрировала Биометрические Считыватели Нескольких Производителей В Свою Систему Контроля Доступа
Рынок электронной коммерции: сегодня и завтра
Особенности драйверов PCI и CompactPCI устройств
Spyware боя; Используйте предохранение от брандмауэра
Аналоговые вычислительные машины (АВМ)
Типы Java программ
IBM передаёт фреймворк ACTF в дар Eclipse
Популярно Про Ddos-Атаки
Канадский опыт построения информационной магистрали
Международная сеть INTERNET
Зао «Лайт Коммуникейшн» Подтвердила Свой Статус «Microsot Gold Certified Partner» В 2008 Году
Типы квантовых компьютеров
Электронный подход
Отчаянно узнать если он лежит или обжуливает?
Кибернетика – наука ХХ века
Прослушивание радиостанций Интернета
Поиск людей (Кто есть Who)
Краткое описание назначения и возможностей Excel