рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Динамическая и статическая типизации.

Динамическая и статическая типизации. - раздел Образование, Курсовая работа Динамические и статические типы данных Динами́ческая Типиза́ция Приём, Широко Используемый В Языках Програ...

Динами́ческая типиза́ция приём, широко используемый в языках программирования и языках спецификации, при котором переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной. Таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов.

Стати́ческая типиза́ция — приём, широко используемый в языках программирования, при котором переменная, параметр подпрограммы, возвращаемое значение функции связывается с типом в момент объявления и тип не может быть изменён позже (переменная или параметр будут принимать, а функция — возвращать значения только этого типа).

Преимущества:

ü Минимум дополнительных строк: переменные надо либо просто объявить без указания типа.

ü Соответственно, упрощается написание простых программ.

ü Повышается гибкость языка. Например, только динамический язык может иметь функцию eval(), вычисляющую значение произвольного выражения.

ü Ускоряет работу компилятора — а значит, производственный цикл «написать-проверить».

ü Автоматически дает языку элементы метапрограммирования и интросекции.

ü Другими словами: когда программист пишет функцию «отсортировать массив», функция сразу начинает работать для массива чисел, массива строк, массива объектов (метапрограммирование). Чтобы определить, возможна ли операция x.length, среде выполнения нужно знать, какого типа переменная x и есть ли у неё поле length; если подобные запросы может делать и сама программа, это и есть интроспекция.

ü Иногда требуется работать с данными переменного типа. Например, функция поиска подстроки возвращает позицию найденного символа (число) или маркер «не найдено».

Недостатки:

ü Статическая типизация позволяет уже при компиляции заметить простые ошибки «по недосмотру». Для динамической типизации требуется как минимум выполнить данный участок кода.

ü Особенно «коварны» в динамическом языке программирования опечатки: разработчик может несколько раз просмотреть неработающий код и ничего не увидеть, пока наконец не найдёт набранный с ошибкой идентификатор.

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

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

ü Интерфейсная часть модуля (описания типов, заголовки процедур и т. д. — то, что соответствует interface-секции в Паскале) в статическом языке сама по себе является существенной частью документации — а при удачной архитектуре модуля вообще позволяет обойтись без документирования.

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


 

– Конец работы –

Эта тема принадлежит разделу:

Курсовая работа Динамические и статические типы данных

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ... КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ... имени В И УЛЬЯНОВА ЛЕНИНА...

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

Что будем делать с полученным материалом:

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

Все темы данного раздела:

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

Статические и Динамические переменные в Pascal
В Паскале одной из задач описания типов является то, чтобы зафиксировать на время выполнения программы размер значений, а, следовательно, и размер выделяемой области памяти для них. Описанные таким

Списки. Очередь. Стек. Дек.
Список (list) – набор элементов, расположенных в определенном порядке. Таким набором быть может ряд знаков в слове, слов в предложений в книге. Этот термин может также относить

Динамические информационные структуры
  Динамические переменные и указатели автоматически порождаются при входе в то

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги