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

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

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

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

Определение экспертных систем
Электронные таблицы «EXCEL»
Работа с файлами в редакторе Paint
Общие положения об необходимости устройств резервного копирования
Разновидности: Atree ADA, Janus ADA, Meridian ADA
Локальные средства (ERwin, BPwin, S-Designor, CASE.Аналитик)
Структура функционирования сети
Internet и политика
Все О Шрифтах - Использование Type1 И Truetype
Очистка очереди печати документов
Компьютерный вирус - понятие и классификация
О Windows Vista
Возможности Windows XP
Ада Августа Байрон
Законы алгебры логики
Особенности драйверов PCI и CompactPCI устройств
Системный блок
Motorola и Verizon представили Android-телефон DEVOUR
ПРИНЦИПЫ ДЕЙСТВИЯ И СТРУКТУРАЯ СХЕМА КОМПЬЮТЕРА
Шифрование. PGP-ключ
СОЗДАНИЕ ДОКУМЕНТА
Хищение компьютерной информации
Создание и конфигурирование сжатых дисков
WordPad: Внедрение специальных объектов
Коммутаторы NetGear
Програмное обеспечение для предприятий - добавлять эффективность к делу
Загрузочная запись
РАЗРАБОТКА И РАСПРОСТРАНЕНИЕ КОМПЬЮТЕРНЫХ ВИРУСОВ
Средство разработки приложений JAM (JYACC's Application Manager)
Защитите фото, изображения и видео
Конверт
Общие сведения языка программирования
Типы Java программ
Самая популярная операционная система сегодня для CompactPCI систем
Internet и первичные телекоммуникационные сети Украины
Windows Vista как платформа
Мышь
Главная загрузочная запись
Что составляет Internet?
ПРЕСТУПЛЕНИЕ В СФЕРЕ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ
Условия и предпосылки информатизации
Особенности машин ЕС ЭВМ
Охранно-пожарные системы фирмы Satel теперь можно контролировать по телефону или Ethernet
Склонность CompactPCI- продуктов к быстрому устареванию
Поиск данных и программ (Archie)
ПРИНЦИП ПОСТРОЕНИЯ КОМПЬЮТЕРНЫХ СЕТЕЙ
Отличия ЭВМ III поколения от прежних
Стоимость CompactPCI-модуля
Моделирование в кибернетике
Технологическая Платформа 1С:Предприятие 8 - Направления Развития
"Адские" мифы
Диспетчер печати
Популярно Про Ddos-Атаки
Понятие компьютерных преступлений
Мышление и информация