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

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

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

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

Основы Работы С Virtualdub
Трассировка процессов в UNIX
Мобильная Торговля, Системы Мобильной Торговли
Интегрирование модулей PADS в программную среду предприятия
Открытие документа с Рабочего стола
Софт Можно Скачать С Варезных Сайтов Или Же Приобрести В Интернет-Магазинах
ЦЕЛЬ СОЗДАНИЯ САПР
WordPad: Выделение текста начертанием
О компьютерах
Программа Sendmail
Работа с файлами в редакторе Paint
LIBCOM-2007: новинки высоких технологий от компании «Алее Софтвер»
Отражение и дублирование сервера
Поддержка драйвера сжатых дисков в MS DOS
течественное законодательство в борьбе с компьютерными преступлениями
Основные стимулы трудовой деятельности в индустриальном, постиндустриальном и информационном обществе
ПРИНЦИПЫ ДЕЙСТВИЯ И СТРУКТУРАЯ СХЕМА КОМПЬЮТЕРА
Совершенная Система Цифрового Видеонаблюдения Uniteco Dvs
Международный стандарт ISO/IEC 11801
ТЕХНОЛОГИЯ И ОСНОВНЫЕ ЭТАПЫ ПОСТРОЕНИЯ ЭС
Уголовно-правовой анализ ст? 272 гл? 28 УК РФ "Неправомерный доступ к компьютерной информации"
Создание Java-приложения “HelloJava”
Пример разработки экспертной системы
Открытие, сохранение, создание проекта
Учет Клиентов, Учет Заказов - Самое Востребованное Программное Обеспечение
Доски объявлений (USENET news)
Устройство и общие принципы работы компьютерного томографа
Новый вид Windows Vista
Монтирование и размонтирование дисков
Хакеры, как субъекты компьютерных преступлений
Кому нужны ваши данные?..
Програмне забезпечення комп'ютерних мереж
Четырехбитное мышление
Нейронный подход
Зарождение кибернетики
Разделенная база данных Access
Копирование цвета области рисунка
Выполнение команд меню с использованием сочетаний клавиш (горячие клавиши)
НЕКОТОРЫЕ РЕКОМЕНДАЦИИ
Задача, решаемая с использованием систем управления базами данных
Ада и Java
Создание звукового комментария
Уровни работы сети
Как Сделать Резервное Копирование Почты Mozilla Thunderbird
Деловые игры
Базовая система классов Java
Способы совершения компьютерных преступлений
Настройка мультизагрузчика
Допрос обвиняемого и подозреваемого
Обзор Windows Vista
Краткий обзор возможностей программы Ехсеl 7.0
Обзор Ca Recovery Management R12. Новая Версия Продукта
Софт (Программы) Для Counter - Strike
Основные линии развития ЭС
ЗАЩИТА СУЩЕСТВУЮЩИХ ЕХЕ-ФАЙЛОВ