Файл: Поколение языков программирования.pdf

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

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

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

Добавлен: 12.03.2024

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

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

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

Приведенные принципы являются обязательной базой и представляют собой группы механизмов ООП – набор выразительных средств языка или программных инструментов, объединенных по признаку реализации одного из принципов ООП.

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

Кроме четырех базовых принципов ООП есть еще и несколько дополнительных:

  • модульность – свойство системы быть представленной в виде слабо связанных между собой элементов – модулей. Правильное определение модулей в процессе решения задачи уже является ее решением. Существует несколько эмпирических правил и приемов, которые позволяют обеспечить разумную модульность. Конечная цель декомпозиции – сокращение затрат на процесс программирования за счет независимого проектирования и тестирования. Структура каждого отдельно взятого модуля должна быть простой для понимания. Любой модуль должен реализовываться независимо от других модулей и не влиять на поведение других моделей;
  • типизация – представляет собой совокупность правил использования объектов, которые не допускают или ограничивают взаимную замену объектов, принадлежащих разным классам. Типизация заставляет проектировщиков описывать абстракции таким образом, чтобы используемый в дальнейшем язык программирования поддерживал принятые решения;
  • параллелизм – возможность одновременного действия различных объектов;
  • устойчивость – способность объекта существовать в режиме реального времени – переживать породивший процесс, перемещаться из своего изначального адресного пространства, менять свои свойства.

Данные принципы являются важными, но не обязательными.

Алан Кей, создатель первого объектно-ориентированного языка программирования Smalltalk выделял несколько ключевых положений в определении ООП:

  • все является объектом;
  • любые вычисления реализуются за счет взаимодействия объектов друг с другом. При этом один объект запрашивает выполнение какого-либо действия у другого объекта при помощи отправки сообщений. Сообщение представляет собой запрос на выполнение действия, который сопровождается списком аргументов, необходимых для реализации данного действия;
  • любой объект обладает собственной независимой памятью, состоящей из других объектов;
  • любой объект является экземпляром класса, выражая общие свойства данного класса;
  • класс определяет функциональные возможности объекта. Следовательно, все объекты, принадлежащие одному классу, способны выполнять одни и те же действия;
  • классы представляют собой древовидную структуру с общим корнем. Данная структура называется иерархией наследования. Поведение и память отдельных экземпляров автоматически доступны любым экземплярам, расположенным на нижележащих уровнях иерархии [11].

ЗАКЛЮЧЕНИЕ

В рамках выполнения данной работы рассмотрена тема «Классификация языков программирования».

Первая глава работы носит теоретический характер, описывая эволюцию языков программирования.

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

  • смещение акцентов от частного к общему – переход от программирования мелких деталей к программированию более крупных компонентов;
  • совершенствование и развитие прикладного инструментария программиста – создание новых методологий, языков программирования и рабочей среды;
  • увеличение объема и сложности информационных и программных систем.

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

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

Увеличение объемов программных проектов способствовало не только увеличению количества разработчиков, участвующих в процессе, но и появлению особых механизмов, позволяющих этим людям одновременно работать над различными частями проекта – модулями.

Модуль представляет собой самостоятельную отдельно компилируемую программную единицу, состоящую из наборов данных и подпрограмм.

Дальнейшим развитием модулей стало появление объектно-ориентированной технологии.

Во второй главе подробнорассматриваются три направления языков программирования:

  • функциональные;
  • модульные;
  • объектно-ориентированные.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Берг О.Ю. Метрики оценки качества программного обеспечения // Труды международного симпозиума надежность и качество. - Пенза: Пензенский государственный университет, 2005. - Т.1. - С. 321-322.
  2. Благодатских В.А. Стандартизация разработки программных средств / Благодатских В.А., Волнин В.А., Поскакалов К.Ф. - М.: Финансы и статистика, 2005. - 288 с.
  3. Валова О.В. Программная инженерия. - Чита: Читинский гос. ун-т, 2009. - 175 с.
  4. Захарова А.А. Информатика и программирование: программные средства реализации информационных процессов / А.А. Захарова, Е.В. Молнина, Т.Ю. Черныева. – Томск: Изд-во ТПУ, 2013. – 318 с.
  5. Звездин С.В. Проблемы измерения качества программного кода // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. - 2010. - № 2. - С. 62-66.
  6. Иванова Г.С. Технология программирования. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. – 56 с.
  7. Кознов Д.В. Введение в программную инженерию. - М.: Национальный открытый университет «Интуит», 2016. - 307 с.
  8. Константайн Л., Локвуд Л. Разработка программного обеспечения. - СПб: Питер, 2004. - 592 с.
  9. Липаев В.В. Качество программных средств. - М.: Янус-К, 2002. - 400 с.
  10. Макарова Н.В. Основы программирования. - М.: КНОРУС, 2016. - 454 с.
  11. Мухортов В.В. Объектно-ориентированное программирование, анализ и дизайн / В.В. Мухортов, В.Ю. Рылов. – Новосибирск: Изд-во ООО «Новософт», 2012. – 108 с.
  12. Назаров С.В., Белоусова С.Н., Бессонова И.А., Гиляревский Р.С., Гудыно Л.П. Введение в программные системы и их разработку. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2012. - 456 с.
  13. Назаров С.В. Архитектуры и проектирование программных систем. - М.: ИНФРА-М, 2013. - 413 с.
  14. Новиков Ф.А. Технологические подходы к разработке программного обеспечения. – СПб.: Изд-во ИТМО, 2014. -137 с.
  15. Соловьев С.В. Технология разработки прикладного программного обеспечения / С.В. Соловьев, Л.С. Гринкруг, Р.И. Цой. – М.: БИНОМ, 2012. – 321 с.
  16. Степович-Цветкова Г.С. Стандарты качества компьютерных программ // Наука сегодня. Сборник научных трудов по материалам VII международной научно-практической конференции: в 4 частях. Научный центр «Диспут». - Вологда: ООО «Маркер», 2015. - С. 96-97.