Файл: Обзор языков программирования высокого уровня (ЭВОЛЮЦИЯ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ).pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

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

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

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

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

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

Параллелизм может обеспечиваться не только средствами языка, как это сделано в Java, но и специальными библиотеками, которые используются для разработки параллельных систем на языках, не имеющих встроенной поддержки этого принципа, например в C++ [3].

3.7. Сохраняемость

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

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

В языках программирования традиционно можно встретить под- держку верхних трех уровней этого спектра. Три нижних уровняпринято относить к компетенции баз данных.

Проблема сохраняемости данных связана с проблемой сохранения информации о структуре этих данных, что при сохранении объектов приводит к сохранению классов в объектно-ориентированных базах данных [8].


ЗАКЛЮЧЕНИЕ

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

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

  • стихийное программирование – разработка программ по принципу «снизу-вверх» - в первую очередь разрабатывались простейшие программы, затем предпринимались попытки собрать из них более сложную программу. При этом в процессе сборки программного продукта обнаруживалось большое число ошибок согласования. В результате на процессы тестирования и отладки программ уходило более 80% всего времени разработки;
  • структурное программирование - разработка программ по принципу «сверху-вниз» - основной идеей данного подхода является принцип декомпозиции сложных систем с целью последующей реализации в виде отдельных подпрограмм. Первоначальная задача представляется в виде иерархии подзадач простейшей структуры;
  • объектно-ориентированное программирование - технология создания сложного программного обеспечения, которая основана на представлении программы в виде совокупности некоторых объектов, каждый из которых представляет собой экземпляр определенного класса, а классы, в свою очередь, образуют иерархию с наследованием свойств;
  • компонентное программирование - в основе данного подхода лежит идея построения программ из отдельно существующих частей программного обеспечения, взаимодействующих друг с другом при помощи стандартизованных двоичных интерфейсов.

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

Основные достоинства модульного программирования:

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

В рамках третьей главы приводится подробное рассмотрение основных принципов ООП, а именно:


  • абстрагирование;
  • инкапсуляция;
  • модульность;
  • иерархия;
  • типизация;
  • парллелизм;
  • сохраняемость.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Алексеев Е.Р. Программирование на языке C++ / Е.Р. Алексеев, Г.Г. Злобин, Д.А. Костюк, О.В. Чеснокова, А.С. Чмыхало – М.: ALT Linux, 2015. – 448 с.
  2. Богуславский А.А. Основы программирования на языке Си++ / А.А. Богуславский, С.М. Соколов. – Коломна: КГПИ, 2012. – 490 с.
  3. Волкова И.А. Сборник задач и упражнений по языку Си++ / И.А. Волкова, А.А. Вылиток, Л.Е. Карпов. – М.: Изд-во ВМК МГУ им. М.В. Ломоносова, 2013. – 64 с.
  4. Громов Ю.Ю. Технология программирования / Ю.Ю. Громов, О.Г. Иванова, М.П. Беляев, Ю.В. Минин – Тамбов: Изд-во ФГБОУ ВПО «ТГТУ», 2013. – 172 с.
  5. Захарова А.А. Информатика и программирование: программные средства реализации информационных процессов / А.А. Захарова, Е.В. Молнина, Т.Ю. Чернышева. – Томск: Изд-во Томского политехнического университета, 2013. – 318 с.
  6. Иванова Г.С. Технология программирования. – Москва: Изд-во МГТУ им. Н.Э. Баумана, 2012. – 241 с.
  7. Каширина Н.В. Сопоставительный анализ подготовки специалистов по информационным технология в вузах России и за рубежом / Н.В. Каширина, М.М. Маран. – Москва: Изд-во журнала «Науковедение», 2015. – 20 с.
  8. Липачев Е.К. Технология программирования. Базовые конструкции C/C++. – Казань: Изд-во Казан. ун-та, 2012. – 142 с.
  9. Марченко Н.М. Программирования на языке C/C++. – Владивосток: Издательский дом Дальневост. федерал. ун-та, 2013. – 43 с.
  10. Мирошниченко Е.А. Технологии программирования. – Томск: Изд-во ТПУ, 2013. – 124 с.
  11. Мухортов В.В. Объектно-ориентированное программирование, анализ и дизайн / В.В. Мухортов, В.Ю. Рылов. – Новосибирск: ООО «Новософт», 2012. – 108 с.
  12. Поляков А.Ю. Практические задания по дисциплинам «Программирование» и «Языки программирования». – Новосибирск: ФГБОУ ВПО СибГУТИ, 2013. – 4 с.
  13. Сидоров С.Б. Модульное программирование / С.Б. Сидоров, Е.Н. Приблудова. – Нижний Новгород: НГТУ, 2013. – 74 с.
  14. Сикиржицкий А.Ю. Модульное программирование: основные понятия и назначение. – Минск: IV Республиканский научно-практический семинар молодых ученых, 2013. – 4 с.
  15. Соколова Е.А. Технология программирования. – Владикавказ: ФГБОУ ВПО СГТУ, 2013. – 92 с.
  16. Терехов А.Н. Технология программирования. – Москва: Изд-во УИТ, 2016. – 77 с.
  17. Цветкова М.С. Информатика и ИКТ / М.С. Цветкова, Л.С. Великович. – М.: Издательский центр «Академия», 2012. – 352 с.
  18. Цехоня В.И. Технология программирования / В.И. Цехоня, В.Ф. Гузик. – Таганрог: изд-во ТТИ ЮФУ, 2012. – 144 с.
  19. Шаповаленко В.А. Технологии программирования / В.А. Шаповаленко, И.Г. Швайко. – Одесса: Изд-во ОНА им. А.С. Попова, 2012. – 120 с.