Файл: Классификация языков программирования высокого уровня (Основные сведения о программировании).pdf
Добавлен: 30.03.2023
Просмотров: 210
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1. Основные сведения о программировании
1.2. Процесс создания программ
1.4. Качество программ. Методы контроля качества программ
ГЛАВА 2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
2.1. Классификация языков программирования с исторической точки зрения
2.2. Классификация языков программирования с точки зрения основных характеристик
2.3. Краткая характеристика известных языков программирования высокого уровня
ГЛАВА 3. ОСОБЕННОСТИ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
3.1. Объектно-ориентированная парадигма программирования
ВВЕДЕНИЕ
Актуальность темы – Развитие языков программирования началось с изобретением первых программируемых компьютеров. На сегодняшний день, общее количество известных языков программирования приблизилось к восьми тысячам. Для того чтобы ориентироваться в этом многообразии языков, необходимо иметь представление о их классификации и специфике.
Предмет исследования – классификация языков программирования высокого уровня.
Объект исследования – языки программирования высокого уровня.
Цель работы – анализ и классификация языков программирования высокого уровня.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Рассмотреть основные понятия языков программирования.
2. Описать последовательность разработки программ.
3. Рассмотреть требования к качеству программных продуктов и методы их контроля.
4. Привести классификации языков программирования высокого уровня
5. Обобщить знания по особенностям современных языков высокого уровня.
Структура работы. Курсовая работа выполнена на 42 листах, содержит 22 рисунка.
ГЛАВА 1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1. Основные сведения о программировании
Программирование на языке высокого уровня – это упорядоченная в соответствии с некоторым алгоритмом последовательность команд (инструкций) для решения поставленных пользователем задач (рис. 1).
Рисунок 1– Связь основных понятий программирования
Алгоритм — заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов [6][1].
Алгоритм, записанный на формальном языке, называется программой [14][2]. Само понятие алгоритма часто идентифицируется с его записью, так что слово "алгоритм" и "программа" - почти синонимы. Небольшое отличие состоит в том, что под алгоритмом понимают основную идею его построения, а программа всегда связана с записью алгоритма на конкретном формальном языке.
Пользователь - лицо, заинтересованное в решении некоторых проблем, посредством использования компьютерной техники. Пользователей компьютеров принято делить на следующие [1][3] группы:
- системные программисты - участвуют в разработке, эксплуатации и техническом обслуживании программного обеспечения.
- прикладные программисты - выполняют разработку и отладку прикладных программ пользователей;
- конечные пользователи - решают проблемы в своей повседневной деятельности помощью прикладного программного обеспечения;
- администраторы - высококвалифицированные компьютерные специалисты, ответственные за работу компьютерной сети, базы данных корпоративной информационной системы в целом, безопасности и защиты данных
Термин "задача" является единицей операции программирования компьютерной системы, требующей выделения вычислительных ресурсов. [16][4].
Приложение – это прикладной компьютерный сервис, который обладает набором определенных функций и является одним из компонентов программного обеспечения. Проще говоря, это программа, которая выполняет некоторые действия, чтобы облегчить жизнь пользователю или решить ту или иную проблему. Приложение может состоять из одного или более взаимосвязанных и интерактивных программ [18][5].
1.2. Процесс создания программ
Процесс создания программ может быть представлен в виде последовательности следующих действий (рис. 2), основные этапы важные для разработчика, следующие [4][6]:
- Постановка задачи;
- Алгоритмическое решение проблемы;
- Программирование или кодирование.
Рисунок 2 - Последовательность разработки [20][7]
Постановка задачи (определение проблемы) - это точная формулировка требований (функциональных и нефункциональных), описания ввода и вывода информации, а также, возможно, описание подходов к решению проблемы [17][8].
Алгоритмическое решение проблемы [5][9] - точный набор инструкций, описывающих процедуры исполнителю для достижения результата решения задачи за конечное время. Некоторые инструкции должны выполняться строго после завершения инструкции, от которых они зависят. Независимые инструкции или инструкции, которые стали независимыми в связи с завершением инструкции, от которых они зависят, могут быть выполнены в любом порядке, или параллельно.
Программирование [10][10] - теоретические и практические мероприятия, связанные с созданием программ.
Преобразование операторов языка программирования в машинный код называют трансляцией. Трансляция выполняется программами, называемыми трансляторами.
Спиральная модель[2][11] является классическим примером применения стратегии эволюционного проектирования программы. Модель основана на лучших свойствах классического жизненного цикла и прототипировани. Модель определяет четыре действия, представленные четырьмя квадрантами спирали (рис. 3)
- Планирование - определение целей, вариантов и ограничений.
- Анализ рисков - анализ рисков и выбор рисков.
- Проектирование - это разработка продукта следующего уровня.
- Оценка - оценка клиентом текущих результатов проекта.
Спиральная модель является наиболее распространенной в настоящее время. Наиболее известными из ее вариантов являются RUP (Rational Unified Process) от Rational и MSF (Microsoft Solution Framework). Предполагается, что создание системы должно выполняться итеративно, перемещаясь по спирали и проходя через те же этапы, чтобы уточнить характеристики будущего продукта на каждом шагу.
Рисунок 3 – Этапы разработки программного обеспечения [20][12]
1.3. Языки программирования
Для взаимодействия человека и компьютера, а именно для понимания формальной системы знаков (письма, буквы и слова) необходим язык программирования, предназначенный для записи исполняемых компьютерных программ. [3][13]
Язык программирования в современном понимании, представляет собой набор правил, которые влияют на бэкэнд и фронтэнд [14][14] программы (Рисунок 4),
Рисунок 4 - Отличие бэкэнда и фронтэнда программы
Все правила языка программирования основаны на использовании следующих правил:
Рисунок 5 – Лексические правила языка программирования
-
-
-
- Синтаксических правил языка [8][17]. Правил построения сообщений в этой системе (рис. 6);
-
-
Рисунок 6 – Синтаксическое правило для языка Паскаль
-
-
-
- Семантических правил языка [13][18]. Система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.
-
-
1.4. Качество программ. Методы контроля качества программ
Качество программного обеспечения определяется в стандарте ISO 9126 [14][19] как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц. (рис. 7)[16]
Рисунок 7 - Стандарт ISO 9126
-
- Функциональность [11][20] (functionality) – свойство программы решать в определенных условиях задачи, необходимые пользователям.
- Надежность [11][21] (reliability)- свойство программы поддерживать определенный уровень работоспособности в заданных условиях.
- Удобство использования (usability) - свойство программы быть удобной в обучении и использовании.
- Производительность (efficiency) - свойство программы обеспечивать необходимый уровень работоспособности.
- Удобство сопровождения (maintainability) - свойство программы быть удобной в сопровождении.
- Переносимость (portability). - сохранение работоспособности при переносе из одного окружения в другое.
- Верификация – это возможность проверить, что программное обеспечение было разработано в соответствии с требованиями;
- Валидация — проверяет, что продукт правилен, т.е. он удовлетворяет потребностям заказчиков, т.е. разработан табличный редактор, а не калькулятор. [9][22]
Эффективность верификации и валидации, зависит от полноты и корректности формулировки требований к программному продукту.
Выводы по главе 1
1. Язык программирования в современном понимании, представляет собой набор правил, которые влияют на бэкэнд и фронтэнд программы.
2. Все правила языка программирования основаны на использовании следующих правил:
-
- Лексических
- Синтаксических
- Семантических
3. Выделяют следующие модели процесса разработки программных систем
- Водопадная (каскадная, последовательная) модель
- Итерационная модель
- Спиральная модель
4. Основными характеристиками качества программ являются следующие:
- Функциональность
- Надежность
- Производительность
5. Контроль качества программ возможен с помощью процесса верификации и валидации
ГЛАВА 2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
Классификация языков программирования может различаться в зависимости от точки зрения на тот или иной вопрос. Вначале рассмотрим эволюцию и классификацию языков программирования с исторической точки зрения.
2.1. Классификация языков программирования с исторической точки зрения
Около двухсот лет назад, в 20-х годах XIX века, математик Чарльз Бэббидж, высказал революционную для своего времени идею, приведшую к последующему созданию автоматических вычислительных машин. Занимаясь выявлением и исправлением ошибок в логарифмических таблицах, Бэббидж пришел к выводу, что любые сложные математические задачи могут быть разбиты на шаги, которые сводятся к простым операциям сложения и вычитания. Такая последовательность шагов, или порядок действий, может быть записана в виде программы, для последующей автоматической реализации вычислений. Бэббидж использовал для записи своих программ (последовательности шагов) перфокарты - метод, изначально разработанный французским изобретателем Жаккаром для управления ткацкими станками. Несмотря на то, что метод использованный Бэббиджем, технически не имеет ничего общего с современными принципами хранения и исполнения программ, сама идея осталась прежней, а именно: любую задачу можно раздробить на несколько упрощенных задач и свести решение к выполнению конечного числа простых операций. Этот момент можно считать начальной точкой отсчета в истории языков программирования.