Файл: Обзор языков программирования высокого уровня (Анализ терминологии и парадигм программирования в области разработки программного обеспечения).pdf
Добавлен: 17.05.2023
Просмотров: 72
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1 ОСОБЕННОСТИ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И ИХ РАЗНОВИДНОСТИ
1.1. Обзор и классификация этапов развития языков программирования
1.2. Анализ терминологии и парадигм программирования в области разработки программного обеспечения
ГЛАВА 2 АНАЛИЗ ЯЗЫКОВ И ИНТЕГРИРОВАННЫХ СРЕДСТВ РАЗРАБОТКИ ПРОГРАММНОГО КОДА
2.1. Анализ преимуществ и специфики использования современных языков программирования
2.1.1. Особенности языка программирования Java
2.1.2. Особенности языка программирования Python
2.1.3. Особенности языка программирования JavaScript
2.2.1. Ключевые возможности и особенности среды разработки Intellij idea
2.2.2. Ключевые возможности и особенности среды разработки PyCharm
2.2.3. Ключевые возможности и особенности среды разработки WebStorm
ВВЕДЕНИЕ
Актуальность темы исследования заключается в необходимости исследования особенностей актуальных на рынке языков и средств разработки программного обеспечения (ПО). Постоянный рост спроса на создание и сдачу готового ПО стимулирует рост интереса в данной сфере деятельности у обучающихся студентов. Большое количество языков программирования, доступных и рекламируемых производителями на рынке разработки ПО существенно усложняет процедуру выбора и изучения особенностей их использования. В связи с этим анализ указанной предметной тематики является актуальным и полезным.
Объект исследования: особенности средств разработки программного обеспечения и языков программирования.
Предмет исследования: специфика имплементации программного прикладного приложения на базе использования высокоуровневых языков программирования.
Цель работы заключается в закреплении, расширении, обобщении и систематизации знаний в рамках изучаемой предметной дисциплины, посредством анализа тематических положений в сфере информационных технологий по современным языкам программирования средствам разработки программного обеспечения.
Задачи исследования:
1. Обзор особенностей развития языков программирования и их разновидностей.
2. Анализ терминологии и парадигм программирования в области разработки программного обеспечения
3. Анализ языков программирования и интегрированных средств разработки программного кода.
5. Разработка и описание структуры проекта создаваемого ПО и интерфейса пользователя.
В первой главе выполненной курсовой работы приведены результаты проведенного анализа особенностей развития зыков программирования и их состава, осуществлен обзор и классификация этапов развития и становления языков программирования с середины прошлого века. Проведен анализ терминологии и парадигм программирования в области разработки программного обеспечения. Приведены иллюстрационные изображения для структурного визуального обобщения рассмотренных в главе понятий.
В рамках второй главы данной курсовой работы выполнен краткий анализ языков программирования и интегрированных сред разработки, соответствующих рассмотренным языкам. Проведен анализ преимуществ и специфики использования современных языков программировании Java, Python, Javascript. Рассмотрены возможности интегрированных сред разработки Intellij idea, PyCharm и WebStorm, описаны их основных достоинства и технические аспекты использования.
В рамках третьей главы данной курсовой работы приведено описание результатов использования средств разработки программного обеспечения (языка javascript, интегрированной среды разработки WebStorm) для создания системы проектирования параметрических трехмерных объектов. Приведено описание структуры проекта создаваемого ПО, основные функции системы, файловый состав. Описаны основные аспекты взаимодействия с разработанным интерфейсом созданной системы, приведены соответствующие иллюстрации.
В процессе написания данной работы использовались литературные источники в количестве 21 книги, которые являются информационной основой для решения поставленных в рамках данной курсовой работы задач.
ГЛАВА 1 ОСОБЕННОСТИ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И ИХ РАЗНОВИДНОСТИ
1.1. Обзор и классификация этапов развития языков программирования
Исторически, процесс эволюции в области вычислительной техники и средств разработки ПО носил неравномерный характер. Это проявлялось в том, что периоды накопления теоретических положений и знаний сменялись технологическими прорывами в разработках.
Принято полагать, что начало развития информатики положено В. Шикардом в 1623 году, когда он создал машину, позволяющую осуществлять сложение и вычитание чисел. Однако, первым полноценным арифмометром, стала модель знаменитого француза Б.Паскаля. Основным элементом в нем было зубчатое колесо.
Первые технические идеи, которые привели к разработке вычислительных цифровых машин, сформированы еще в начале 20-х годов девятнадцатого века Бэббиджем. Главной была мысль о возможности предварительной фиксации перечня операций вычислительной машины для дальнейшей реализации вычислений в автоматическом режиме, т.е. в виде программы.
Аналитическая машина, проект которой разработал Бебидж, послужила механическим прототипом первых электронно-вычислительных машин (ЭВМ). Ключевой особенностью данной машины является программный принцип работы. Он состоит в том, что программа вычислений размещается в памяти ЭВМ и хранится, а исполняемые команды программы также выражены в числовом коде [1].
В 1890 году Г. Холлерит разработал машину, которая могла работать с данными, представленными в виде таблиц. Данная разработка также управлялась программой, располагаемой на перфокартах и широко применялась для автоматизации проведения переписи населения в 1890 году.
Ада Лавлейс разработала концептуальные приемы контроля и управления создания последовательностей вычислительных процессов, используемых в области программировании и в наши дни, а также идентифицировала такую незаменимую конструкцию любого языка программирования как цикл.
Принципиальным этапом в развитии языков программирования явилось создание системы кодирования команд ЭВМ посредством использования специальных символов. Данная схема была предложена сотрудником Пенсильванского университета – Моучли [2].
Хоппер, совместно с коллегами впервые ввела такое понятие осуществления техники программирования как программная отладка. Необходимость в разработке такого механизма возникла еще в 1945 году, когда произошла аварийная остановка работы ЭВМ «Марк-1».
В конце 40-х годов 20 века машинный код являлся, фактически, единственным способом организации взаимодействия человека-пользователя с ЭВМ. Важнейшим достижением разработчиков языков программирования тех времен являлась реализация алгоритмов и механизмов использования ЭВМ для автоматической интерпретации языка программирования в машинный код.
В середине 1951 года Хоппером был разработан первый компилятор, который позволял осуществлять функции по объединению заданных команд и поддерживал организацию подпрограмм в процессе трансляции кода [3].
В 1954 году команда Хоппер реализовала систему, которая одновременно интегрировала компилятор и язык программирования, которую назвали MATH-MATIC. В 1958 году появился язык программирования FLOW-MATIC и его компилятор, который поддерживал написание программ. Данный язык программирования стал первым языком, который получил применение в решении задач обработки различных коммерческих данных. Развитие данного языка привело к разработке популярного в свое время бизнес-ориентированного зыка COBOL - Common Business Oriented Language. Существенный вклад в разработку данного языка сделала также команда Хоппер.
Процесс эволюции языков программирования с середины XIX начала XX веков приведен на рис.1.
Рисунок 1 – Процесс эволюции языков программирования с середины XIX начала XX веков
С начала 60-х годов ХХ века популярность языков программирования начинает стремительно возрастать и общий прогресс в разработке методов и средств программирования с использованием ЭВМ набирается все большие обороты. При этом, вследствие развития технологий постоянно уменьшается использование подхода к написанию программ в машинных командах [4].
Первым из научно-прикладных языков стал, который был разработан командой программистов из молодой фирмы IBM. С данного языка наступает эра развития и совершенствования языков программирования высокого уровня.
Обобщенная схема классификации программирования [18] приведена на рис.2.
Рисунок 2 – Общая классификации существующих языков программирования
По степени детализации алгоритма языки программирования в настоящее время бывают такие]:
- Низкоуровневые - языки программирования, близкие к программированию в машинных кодах, на базе использования виртуального или реального вычислительного процессора. При обозначении низкоуровневых команд часто используется мнемонические методы и механизмы. Примером языка такого типа является ассемблер.
- Высокоуровневые (C#, Java) – языки, которые разработаны для обеспечения платформенной независимости создаваемых алгоритмов. Имеется в вижу тот факт, что различные платформенные зависимости перекладываются на программы-трансляторы, которые осуществляют компиляцию текста к виду машинных инструкции (команд) [5].
- Сверх высокоуровневые (Алгол-68) — языки, обладающие еще большим уровнем абстракции, чем высокоуровневые языки программирования, в связи с чем их используют для разработки и решения специфических предметно-ориентированных приложений и задач.
Все языки программирования часто классифицируют по следующим поколениям [6]:
– первое поколение: применение на ЭВМ первого поколения с машинно–ориентированным использованием и ручным процессом управлением памятью;
– второе поколение: применение автокодов или мнемонических символов для представления команд программы;
– третье поколение: языки программирования высокого уровня общего типа и назначения, которые использовались в первую очередь для разработки и реализации пакетов прикладных программ в нужной предметной области (Паскаль, Бейсик, Си);
– четвертое поколение: высокоуровневые языки программирования, использованные для разработки специализированных прикладных программ и приложений, которые поддерживали механизмы использования систем управления базами данных.
– пятое поколение: объектно–ориентированные, декларативные и визуальные высокоуровневые языки программирования. Данные языки применяются в настоящее время и используются для разработки клиент-серверных приложений, мобильных систем и распределенных веб-сайтов. Примерами таких языков являются Си++, Java, C#, Visual Basic, Delphi.
1.2. Анализ терминологии и парадигм программирования в области разработки программного обеспечения
Разработка программ представляет собой довольно сложный процесс, главной целью которого является создание и дальнейшее совершенствование (сопровождение) программного кода, обладающего высоким уровнем надежности и качества.
Средства разработки ПО представляют собой некоторую совокупность приемов, методик, подходов, методов, а также инструментальных программных приложений (компиляторы, библиотеки, модули), используемые разработчиком ПО для написания функционального кода программы, удовлетворяющего поставленным требованиям [7].
Языки программирования определяют набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.
Синтаксис – система правил, которые регламентируют допустимые программные конструкции конкретного языка программирования, состоящие из символов алфавита.
Семантика – это система правил для унифицированного толкования конструкций языка программирования, которые позволяют организовать обработку данных.
Языки программирования отличаются от естественных языков тем, что предназначены для взаимодействия человека и ЭВМ, а естественные языки используются для общения людей друг с другом. Большая часть языков программирования опирается на ряд конструкций для манипулирования структурами данных и управления вычислительными процессами.
Высокоуровневые языки программирования разработаны для оперативности и удобства использования для разработки приложений программистами.
Основная черта таких языков - абстракция, представляющая смысловую конструкцию, которая кратко описывает используемые структуры данных с возможными операциями, формализация которых на базе машинного кода является достаточно трудоемкой и длительной [8].
Большая часть современных языков и средств разработки осуществляет целостную поддержку парадигмы объектно-ориентированного программирования.
Объектно-ориентированное программирование (ООП) — это методика организации программного кода на основании группировки и представления его в виде объектов, являющихся отдельными элементами, включающими свои функции (методы) и информацию (поля) [9].