Файл: Современные языки программирования (Типизация данных).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.05.2023

Просмотров: 65

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

4.2 Статическая типизация

При таком виде контроля переменная связывается с типом в момент объявления ещё при написании программы и проверяется на соответствие при каждом её использовании программистом. При таком подходе довольно сложно найти недостатки, однако без них не обходится:

Понижается гибкость языка. Для каждого типа переменной необходима реализация собственной функции.

Значительно замедляется работа компилятора.

В тоже время проверка типов на этапе написания и трансляции программы ведет к возникновению существенных достоинств:

Высокая скорость выполнения программы, связанная с отсутствием проверки типов на этапе выполнения. «Зная» тип переменной транслятор может использовать для неё более простые и подходящие команды.

Значительно уменьшается количество ошибок связанных с некорректным использованием типа переменной: присваивание значений, операции над переменными, передача параметров в функции.

При явном объявлении переменных и типов повышается читабельность и понятность кода, упрощается документирование программы.

Как и для динамического контроля, статический контроль типов в языках программирования реализован по-разному, что с учетом строгой или слабой типизации может налагать ряд дополнительных достоинств и недостатков.

В современном программировании используются языки, как со статической типизацией, так и с динамической. Следует отметить, что динамическая типизация больше характерна для интерпретируемых языков, а статическая типизация для компилируемых. Это обусловлено возможностью интерпретатора при выполнении команды анализировать типы используемых данных и производить приведение типов, что для скомпилированной программы выполнить гораздо сложнее.

Однако, в языках со статической типизацией возможно использование динамических свойств по работе с типами. Для этого можно воспользоваться специальными агрегаторами (объединением, классом Variant и т.п.), которые позволят сохранить информацию о типе значения. При использовании подобных агрегаторов возникают накладные расходы сравнимые с использованием динамической типизации и некоторые неудобства в работе (явное приведение типа).

В языках с динамической типизацией организация статической проверки типов задача сложная. Если статическая типизация поддерживается на уровне языка, то компилятор может провести проверку типов и добиться полного исключения лишних вычислений при применении операторов. Если такой поддержки в языке нет, то есть возможность её реализовать путем добавления дополнительных проверок и, следовательно, накладными расходами.


Заключение

Что бы быть современным язык программирования должен отвечать всем современным требованиям и соответствовать тем задачам, которые встают перед программистом сегодня. Именно поэтому в рассмотренных языках программирования представлено большинство методов и способов решения задач по созданию систем обработки информации.

Сегодня предоставляемое программисту многообразие возможностей позволяет, начиная новый проект любой сложности, выбрать язык программирования наиболее подходящий для его реализации. При выборе языка программирования необходимо учитывать требования проекта к скорости работы, потребляемым ресурсам, необходимости кроссплатформенного использования, а также сроки реализации проекта. Кроме того, для некоторых проектов может стать существенным фактор популярности языка программирования. Для популярного языка имеется, как правило, большое количество учебной и справочной литературы, кроме того, использованный язык программирования может стать решающим фактором при выборе программы конечным пользователем. Не менее важно при выборе языка программирования учитывать опыт других разработчиков при решении похожих задач, это поможет избежать типичной ошибки - «изобретение колеса».

Рассмотрев основные концепции современных языков программирования можно выделить несколько наиболее актуальных задач стоящих сегодня перед программистами: Проектирование межплатформенных приложений - не зависящих от используемой платформы. Разработка Интернет-приложений - работающих через Интернет, но не поддерживаемых браузером непосредственно. Создание Web-приложений - клиент-серверных архитектур. Возможность быстрого создания приложений и средств автоматизации. Также актуальны приложения полностью и эффективно использующие все ресурсы современных платформ.

Список использованных источников

1. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. - 5-е изд. - М.: Вильямс, 2001. - 672 с. - 5000 экз. ISBN: 5-8459-0192-8

2. TIOBE Software: Tiobe Index

3. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

4. Городняя Л.В. Основы функционального программирования. /- М.: Изд-во "Интернет-университет информационных технологий - ИНТУИТ.ру", 2004. - 280 c.: ил. ISBN 5-9556-0008-6