Файл: Обзор языков программирования высокого уровня (ЭВОЛЮЦИЯ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 30.03.2023
Просмотров: 2253
Скачиваний: 1
В настоящее время существует целое множество задач, где использование параллелизма позволяет существенно улучшить характеристики разрабатываемой системы.
Основной принципа параллелизма является поток. Принято выделять два вида многопоточности:
- тяжелая – основой которой являются процессы операционной системы. В данном случае каждый поток обладает собственным адресным пространством;
- легкая – основой которой являются потоки в рамках одного процесса. В данном случае потоки используют одно адресное пространство.
Программа, работающая в системе с легкой многопоточностью, представляет собой совокупность нескольких потоков управления и точек синхронизации. Точки синхронизации служат для реализации целостности совместно используемых данных и взаимодействия потоков.
В ООП потоки управления реализованы в виде активных объектов, которые являются инициаторами всех действий, происходящих в системе. Параллелизм дает возможность нескольким объектам действовать одновременно.
Параллелизм может обеспечиваться не только средствами языка, как это сделано в Java, но и специальными библиотеками, которые используются для разработки параллельных систем на языках, не имеющих встроенной поддержки этого принципа, например в C++ [3].
3.7. Сохраняемость
Все объекты и данные програм существуют во времени и адресном пространстве. Некоторые объекты существуют только в виде промежуточных результатов вычисления выражения, другие, напротив, могут пережить программу, оставаясь храниться во внешних файлах. Таким образом, с точки зрения сохраняемости можно выделить несколько уровней данных:
- промежуточные выражения;
- локальные переменные и объекты;
- статические переменные классов, а также, глобальные переменные и объекты в динамической памяти;
- данные, сохраняемые между сеансами выполнения программы;
- данные, сохраняемые при переходе на другую версию программы;
- данные, переживающие программу.
В языках программирования традиционно можно встретить под- держку верхних трех уровней этого спектра. Три нижних уровняпринято относить к компетенции баз данных.
Проблема сохраняемости данных связана с проблемой сохранения информации о структуре этих данных, что при сохранении объектов приводит к сохранению классов в объектно-ориентированных базах данных [8].
ЗАКЛЮЧЕНИЕ
В рамках выполнения данной работы была рассмотрена тема «Обзор языков программирования высокого уровня».
В первой главе работы описана эволюция технологий программирования, которая состоит из ряда этапов:
- стихийное программирование – разработка программ по принципу «снизу-вверх» - в первую очередь разрабатывались простейшие программы, затем предпринимались попытки собрать из них более сложную программу. При этом в процессе сборки программного продукта обнаруживалось большое число ошибок согласования. В результате на процессы тестирования и отладки программ уходило более 80% всего времени разработки;
- структурное программирование - разработка программ по принципу «сверху-вниз» - основной идеей данного подхода является принцип декомпозиции сложных систем с целью последующей реализации в виде отдельных подпрограмм. Первоначальная задача представляется в виде иерархии подзадач простейшей структуры;
- объектно-ориентированное программирование - технология создания сложного программного обеспечения, которая основана на представлении программы в виде совокупности некоторых объектов, каждый из которых представляет собой экземпляр определенного класса, а классы, в свою очередь, образуют иерархию с наследованием свойств;
- компонентное программирование - в основе данного подхода лежит идея построения программ из отдельно существующих частей программного обеспечения, взаимодействующих друг с другом при помощи стандартизованных двоичных интерфейсов.
Вторая глава работы посвящена модульному программированию. Модулем принято называть функционально законченный фрагмент программного кода, оформленный в качестве отдельного файла с исходным кодом или ее поименованной непрерывной части, предназначенный для применения в других программах.
Основные достоинства модульного программирования:
- возможность разработки модулей с применением различных языков программирования;
- модуль представляет собой естественную единицу локализации имен;
- упрощенный процесс локализации места ошибки: в большинстве случаев исправление ошибки в рамках одного модуля не влечет за собой исправления ошибок в других модулях;
- возможность повторного использования разработанных модулей в других программах.
В рамках третьей главы приводится подробное рассмотрение основных принципов ООП, а именно:
- абстрагирование;
- инкапсуляция;
- модульность;
- иерархия;
- типизация;
- парллелизм;
- сохраняемость.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Алексеев Е.Р. Программирование на языке C++ / Е.Р. Алексеев, Г.Г. Злобин, Д.А. Костюк, О.В. Чеснокова, А.С. Чмыхало – М.: ALT Linux, 2015. – 448 с.
- Богуславский А.А. Основы программирования на языке Си++ / А.А. Богуславский, С.М. Соколов. – Коломна: КГПИ, 2012. – 490 с.
- Волкова И.А. Сборник задач и упражнений по языку Си++ / И.А. Волкова, А.А. Вылиток, Л.Е. Карпов. – М.: Изд-во ВМК МГУ им. М.В. Ломоносова, 2013. – 64 с.
- Громов Ю.Ю. Технология программирования / Ю.Ю. Громов, О.Г. Иванова, М.П. Беляев, Ю.В. Минин – Тамбов: Изд-во ФГБОУ ВПО «ТГТУ», 2013. – 172 с.
- Захарова А.А. Информатика и программирование: программные средства реализации информационных процессов / А.А. Захарова, Е.В. Молнина, Т.Ю. Чернышева. – Томск: Изд-во Томского политехнического университета, 2013. – 318 с.
- Иванова Г.С. Технология программирования. – Москва: Изд-во МГТУ им. Н.Э. Баумана, 2012. – 241 с.
- Каширина Н.В. Сопоставительный анализ подготовки специалистов по информационным технология в вузах России и за рубежом / Н.В. Каширина, М.М. Маран. – Москва: Изд-во журнала «Науковедение», 2015. – 20 с.
- Липачев Е.К. Технология программирования. Базовые конструкции C/C++. – Казань: Изд-во Казан. ун-та, 2012. – 142 с.
- Марченко Н.М. Программирования на языке C/C++. – Владивосток: Издательский дом Дальневост. федерал. ун-та, 2013. – 43 с.
- Мирошниченко Е.А. Технологии программирования. – Томск: Изд-во ТПУ, 2013. – 124 с.
- Мухортов В.В. Объектно-ориентированное программирование, анализ и дизайн / В.В. Мухортов, В.Ю. Рылов. – Новосибирск: ООО «Новософт», 2012. – 108 с.
- Поляков А.Ю. Практические задания по дисциплинам «Программирование» и «Языки программирования». – Новосибирск: ФГБОУ ВПО СибГУТИ, 2013. – 4 с.
- Сидоров С.Б. Модульное программирование / С.Б. Сидоров, Е.Н. Приблудова. – Нижний Новгород: НГТУ, 2013. – 74 с.
- Сикиржицкий А.Ю. Модульное программирование: основные понятия и назначение. – Минск: IV Республиканский научно-практический семинар молодых ученых, 2013. – 4 с.
- Соколова Е.А. Технология программирования. – Владикавказ: ФГБОУ ВПО СГТУ, 2013. – 92 с.
- Терехов А.Н. Технология программирования. – Москва: Изд-во УИТ, 2016. – 77 с.
- Цветкова М.С. Информатика и ИКТ / М.С. Цветкова, Л.С. Великович. – М.: Издательский центр «Академия», 2012. – 352 с.
- Цехоня В.И. Технология программирования / В.И. Цехоня, В.Ф. Гузик. – Таганрог: изд-во ТТИ ЮФУ, 2012. – 144 с.
- Шаповаленко В.А. Технологии программирования / В.А. Шаповаленко, И.Г. Швайко. – Одесса: Изд-во ОНА им. А.С. Попова, 2012. – 120 с.