Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

ВВЕДЕНИЕ

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

Объект исследования: особенности средств разработки программного обеспечения и языков программирования.

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

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

Задачи исследования:

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].

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

При применении декларативного языка программирования в приложении обязательно в явном виде указывается, какими именно свойствами обязан обладать итоговый результат, однако, при этом не идентифицируется порядок его непосредственного получения. В наилучшем виде декларативная программа включает синтаксически корректную формулировку предложений, которые комплексно описывают необходимый итоговый результат [10].

При этом важным аспектом является тот факт, что порядок предложений, которые однозначно определяют конкретные свойства программы, не имеет существенного значения.

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

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

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

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

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

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

Примерами таких языков являются: C++, C#, Java, JavaScript, Python, PHP, Ruby, Delphi, Лисп и др.

Статистика популярности языков программирования в настоящее время лет приведена на рис.3.

Рисунок 3 – Статистика использования языков программирования с в 2017 году

Выводы по главе 1

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

ГЛАВА 2 АНАЛИЗ ЯЗЫКОВ И ИНТЕГРИРОВАННЫХ СРЕДСТВ РАЗРАБОТКИ ПРОГРАММНОГО КОДА

2.1. Анализ преимуществ и специфики использования современных языков программирования

В данной части работы следует рассмотреть такие популярные и востребованные языки программирования, как Java, Python и JavaScript.

2.1.1. Особенности языка программирования Java

Java - это популярный высокоуровневый язык программирования, который был выпущен известной ИТ компанией Sun Microsystems еще в 1995 году. В настоящее время разработкой языка Java занимается корпорация Oracle. Синтаксис данного языка во многом похож на язык C++, на котором Java и был изначально разработан.

Разрабатываемые Java приложения компилируются в отдельный байт-код (формат .class), который при выполнении интерпретируется JVM (виртуальной машиной Java) для конкретной аппаратно-программной платформы или операционной системы.

Для обхода этого недостатка языка существуют механизмы интеграции отдельных модулей низкоуровневого управления, которые могут быть написаны на других языках (ассемблер, С++ и др.) [13].

При создании Java изначально были сформулированы такие принципы:

  • синтаксис должен быть максимально простым, гибким, удобным и привычным пользователю-разработчику;
  • высокая производительность и безопасность процесса разработки и реализации исполняемых приложений;
  • кроссплатформенность по принципу “Once Write –Anywhere Use”;
  • поддержка масштабируемости и мультизадачности посредством возможности создания параллельных процессов и потоков [19].

Структура ядра языка программирования Java приведена на рисунке 4.

Рисунок 4 – Архитектура Java окружения

Кроссплатформенность достигается путем компиляции изначального Java-кода (формат .java) в байт-код (.class), представляющего собой набор упрощенных команд. После этого разработанное приложение может быть выполнено на любой поддерживаемой платформе, т.е. на платформе, которая имеет установленную JVM, способную интерпретировать байткод в код, учитывающий специфику конкретной ОС и процессора.

Главным преимуществом использования байт-кода является портативность. Т.е. байт-код переносится на любую платформу и запускается без установки, достаточно просто наличие JVM [14].

При этом, недостатком является необходимость выделения дополнительных вычислительных ресурсов на интерпретацию, т.е. мощности процессора и оперативной памяти задействуются в большем объеме. В связи с этим некоторые считают, что Java является достаточно медленным языком разработки [15].

В Java практически все структуры данных являются объектами. Исключением являются такие примитивные типы данных, как целочисленные (int), символы (char), логический тип данных (boolean) и др. Также, в Java все объекты являются производными от самого главного объекта (Object), который является их потомком, посредством которого обеспечивается их базовое поведение и все основные свойства.

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

2.1.2. Особенности языка программирования Python

Python это современный объектно-ориентированный язык с поддержкой динамической типизации, автоматического процесса управления памятью, высокоуровневых гибких структур данных (словари, кортежи, списки).

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

Кроме ООП данный язык структурное, функциональное и аспектно-ориентированное программирование [17].

Python позволяет определять тип переменной на этапе исполнения программы.

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

Пример экосистемы языка программирования Python приведены на рисунке 5.

Рисунок 5 – Пример экосистемы языка программирования Python

В языке поддерживаются такие встроенные типы данных как: бинарный, строковый, Unicode, целочисленный с произвольно заданной степень точности, число с плавающей запятой, и ряд других. Из современных коллекций язык обладает поддержкой таких встроенных структур как: список, словарь, кортеж (модифицируемый список), множество и др. Следует отметить, что все значения, также как и в Ruby, являются объектами, причем это характерно и для функций, модулей, методов и классов.

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

Преимущества языка следующие.

1. Интерпретируемость и динамическая типизация.

2. Поддержка модульности и Unicode.

3. Поддержка работы с объектами в рамках концепции ООП и автоматическая «сборка мусора» (очистка памяти).

4. Интеграция с многими другими языками программирования для повышения скорости работы программных приложений.

5. Кроссплатформенность и поддержка большого количества модулей, интегрированных и сторонних.

2.1.3. Особенности языка программирования JavaScript

JavaScript (JS) представляет собой язык разработки сценариев и выполняется непосредственно в веб-браузере клиентского устройства. Программы, которые разработаны на JS называют скриптами, чаще всего такие скрипты включатся непосредственно в HTML страницу различным образом. Результаты выполнения разработанных сценариев отображается на странице браузера, посредством чего происходят различные изменения в ее структуре и содержании [19]. Схематическое блочное отображение процесса обработки исходного программного кода, разработанного на языке программирования JS приведено на рисунке 6.

Рисунок 6 – Процесс обработки исходных JS-файлов

В настоящее время существует большое количество разнообразных устройств, из которых пользователь может просматривать веб-сайты с разными разрешениями экранов. JS-скрипт может быть размещен на страницах подобного веб-сайта для обеспечения проверки разрешение конкретного экрана и автоматической подстройки ширины страницы под допустимое разрешение. Некоторые страницы могут содержать миниатюры изображений, которые могут быть открыты в полный экран путем выполнения соответствующего действия. Как правило это также обеспечивается посредством применения подобных скриптов [20].

Проблемой при этом является тот факт, что различные веб-браузеры в разных операционных системах не всегда корректно интерпретируют одну и ту же веб-страницу. Однако язык JS позволяет определить используемый обозреватель и динамически скорректировать код загружаемой страницы для ее корректного отображения. Также, существует поддержка добавления комментариев или их обновления без необходимости проведения перезагрузки всей страницы. Язык JS удобен для проверки созданный пользовательских форм на корректность заполнения без необходимости отправки данных на сервер, что существенно оптимизирует процесс разработки. Следует отметить, что данный язык полноценно способен выполнять различные математические операции, что позволяет его успешно применять для онлайн калькуляторов и конвертертов различных величин. А ряд современных фреймворков и технологий JS позволяет создавать полноценные мобильные приложения с гибким и красочным интерфейсом пользователя [21].

2.2. Анализ преимуществ и специфики использования современных интегрированных сред разработки программ

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

2.2.1. Ключевые возможности и особенности среды разработки Intellij idea

Система для написания кода на языке Java JetBrains IntelliJ IDEA является лидером среди аналогичных сред интегрированной разработки корпоративных и веб-приложений. Система представляет собой комплекс интегрированных средств и инструментов разработки программного кода, включающий в свой состав интеллектуальный редактор текстов с поддержкой автоматизации, средства рефакторинга кода, поддержку J2EE приложений, механизмы интеграции с средствами модульного тестирования JUnit и системами управления версиями, модуль проверки кода Code Inspection, а и компоненты визуального создания графических пользовательских интерфейсов.

Использование IntelliJ IDEA позволяет разработчику уменьшить объем выполняемой рутинной работы, способствуя устранению всевозможных ошибок и увеличить качество кода.

Преимуществами и функциональными возможностями продукта IntelliJ IDEA являются [15]:

1. Интеллектуальное автодополнение кода, средства автоматического анализа качества кода, удобный переход и функции навигации по проекту, расширенные средства форматирования для Java и других языков (Groovy, Scala и др.).

2. Поддержка различных фреймворков и технологий, включая Java EE, Spring, Grails, GWT, Struts, Android, и др.

3. Поддержка ряда серверов веб-приложений (Tomcat, JBoss, WebSphere, Jetty и др).

4. Инструменты для создания и редактирования баз данных.

5. Интеграция систем управления версиями (GIT, SVN, Perforce, Visual SourceSafe и др.).

6. Инструменты автоматизации процесса запуска модульных тестов и анализа покрытия кода тестами.

Бесплатная версия системы позволяет разработчикам программного кода использовать:

1. Интеллектуальное автодополнение программного кода, средства анализа качества кода.

2. Комплексный набор технических средств для разработки различных Android-приложений.

3. Поддержка графического фреймворка JavaFX 2.0 и системы SceneBuilder.

4. Интеграция с инструментами автоматической сборки проектов (Maven, Ant и Gradle).

5. Интеграция библиотек JUnit, TestNG, и spec2.

6. Поддержка работы с Subversion, GIT и CSV.

2.2.2. Ключевые возможности и особенности среды разработки PyCharm

PyCharm – это современная среда разработки для язык Python от GeekBrains с широким полным набором инструментов и средств для организации эффективной и быстрой разработки программных продуктов на языке Python. На данный момент выпускается в двух вариациях –PyCharm Community Edition (бесплатная версия) с поддержкой стандартного набора функциональных возможностей и PyCharm Professional Edition (платная и расширенная версия). 

Основные достоинства версии Community Edition [18]:

  • Заточена для разработки именно на языках Python 2.х и 3.х.
  • Распространяется с открытым исходным кодом.
  • Поддержка функционального контекст редактора и отладчика.
  • Поддержка средств удобного рефакторинга кода, инспекции качества кода, и интеграции с различными системами контроля версий.
  • Средства быстрой навигации по создаваемому проекту, поддержка модульного тестирования, настраиваемый пользовательский интерфейс для разработчика.

Основные достоинства версии Professional Edition:

  • Расширенная среда интегрированной разработки на Python с поддержкой возможности создания веб-приложений и подключения дополнительных фреймворков.
  • Интеграция ряда фреймворков, таких как Django, Google App Engine, Flask, Pyramid, web2py и др.
  • Поддержка синтаксиса языка JavaScript и его различных форков.
  • Поддержка механизмов удаленная разработки.
  • Дополнительные средства поддержка работы с реляционными и не реляционными БД.
  • Быстрое обнаружение и информирование при появлении дублирующегося кода.
  • Поддержка построения UML диаграмм по проекту и интеграция SQLAlchemy.
  • Встроенные средства профилирования программных приложений на Python.

Ключевые возможности и преимущества использования данной среды разработки приведены ниже [17]:

  • PyCharm является многофункциональным редактором программного кода с авто-форматированием, подсветкой синтаксиса, и автоматическими отступами.
  • Обеспечивает быструю навигацию по коду.
  • Поддерживает механизмы проверки версий интерпретатора на совместимость.
  • Поддержка быстрого просмотра справочной документации для выбранного элемента непосредственно в окне редактора, с учетом формирования docstring.
  • Наличие модулей проведения инспекции созданного кода.
  • Поддержка средств и модулей разработки на базе подключения к к проекту таких утилит как IronPython, Cython, PyPy, Jython, wxPython, PyQt, PyGTK и др.
  • Имплементация фреймворка Flask с поддержкой языков Jinja2 и Mako.
  • Интеграция средств быстрого создания пакетов для Unit тестирования приложений.
  • Поддержка интерактивных консолей выполнения команд для Python, SSH, подключения отладчика и окна управления таблицами БД.
  • Поддержка схем интеграции проектов из популярных сред разработки (Netbeans, Emacs, Eclipse, VIM).
  • Гибкие возможности персонификации, благодаря наличию нескольких цветовых схем, а также конфигурированию подсветки синтаксиса программного кода.
  • Интеграция с современными баг-треккерами (JIRA, Lighthouse, Youtrack, Redmine и др.).
  • Регулярно пополняемая и обновляемая коллекция программных плагинов.

2.2.3. Ключевые возможности и особенности среды разработки WebStorm

WebStorm является универсальной средой разработки кода на ЯП JavaScript, которая одинаково подходит для разработки клиентской стороны, так и для создания серверных приложений на Node.js.

Главным преимуществом данной IDE является поддержка удобного редактора JavaSсript, HTML и CSS, имеющего средства поддержки различных форков и модификаций языка JS, таких как TypeScript, CoffeeScript, Less, Dart, Sass и Stylus, а также встроенные средства использования фреймворков React, Angular, Meteor.

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

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

Окно Live Edit позволяет мгновенно отображать результаты изменений в файлах CSS, HTML и JavaScript в браузере без необходимости перезагрузки страницы. Данный инструмент доступен в режиме отладки и поддерживает работу в Google Chrome с помощью использования плагина IDE Support от создателей среды JetBrains.

WebStorm осуществляет полную поддержку новой версии JavaScript – ECMAScript, с функциями автодополнения разрабатываемого программного кода, проверки ошибок, рефакторинга кода и его отладку.

Данная IDE позволяет оперативно разрабатывать приложения разной степени сложности на базе Node.js, поддерживая их полноценную отладку. Новое приложение может быть создано на базе использования шаблона Express, а необходимые дополнительные модули могут быть установлены посредством использования встроенного в систему WebStorm менеджера обновлений [20].

Ключевые возможности интегрированной среды разработки:

  • отладка кода на JS, ECMAScript, TypeScript, CoffeeScript и Dart с использованием source maps;
  • поддержка возможностей отладки Node.js приложений;
  • поддержка механизмов удобной работы с  Git, Subversion, Perforce, GitHub, Mercurial;
  • интеграция различных системам динамического отслеживания ошибок (ESLint, JSHint, Stylelint, JSLint, TSLint).

Выводы по главе 2

В рамках второй главы данной работы выполнен анализ языков программирования и интегрированных сред разработки, соответствующих рассмотренным языкам. Проведен анализ преимуществ и специфики использования современных языков программировании Java, Python, Javascript. Рассмотрены возможности интегрированных сред разработки Intellij idea, PyCharm и WebStorm, описаны их основных достоинства и технические аспекты использования.

ЗАКЛЮЧЕНИЕ

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

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

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

Проведен анализ преимуществ и специфики использования современных языков программировании Java, Python, Javascript. Рассмотрены возможности интегрированных сред разработки Intellij idea, PyCharm и WebStorm, описаны их основных достоинства и технические аспекты использования.

В рамках третьей главы данной курсовой работы было приведено описание результатов использования средств разработки программного обеспечения (языка javascript, интегрированной среды разработки WebStorm) для создания системы проектирования параметрических трехмерных объектов.

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

В процессе выполнения работы достигнута поставленная цель посредством решения следующих задач:

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

2. Проведен анализ терминологии и парадигм программирования в области разработки программного обеспечения

3. Осуществлен анализ языков программирования и интегрированных средств разработки программного кода.

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

  1. Одинец В.П. Зарисовки по истории компьютерных наук. – Сыктывкар: Коми пединститут, 2013. — 421 с.
  2. Семакин И.Г. Информатика и информационно-коммуникационные технологии. Базовый курс: - М: БИНОМ, Лаборатория знаний, 2012. – 314 с.
  3. Камаев В.А., Костерин В.В. Технологии программирования Учебник. — М.: Высшая школа, 2016. - 314 с.
  4. Галин А.Б. Информатика: учебник. – М.: Феникс, 2012. – 223 с.
  5. Голицына О.Л., Партыка Т.Л., Языки программирования. Учебное пособие. – М.: Форум, 2012. – 467 с.
  6. Иванова Г.С. Основы программирования Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2012. –303 с.
  7. Веренинов И.А. Основы программирования. Учебное пособие. – СПб.: Издательство Политехнического университета, 2013. – 212 c.
  8. Голицына О.Л., Партыка Т.Л., Языки программирования. Учебное пособие. – М.: Форум, 2012. – 467 с.
  9. Синицын С. Программирование на языке высокого уровня. - СПб.: Академия, 2012. - 400 с.
  10. Холодов Г.М., Поповкин А.В. Алгоритмическое и объектно-ориентированное программирование. – М.: МГТУ МАМИ, 2013. – 459 с.
  11. Хорев П.Б. Объектно-ориентированное программирование. – Москва: Академия, 2012. – 446 с.
  12. Шалимов П.Ю. Функциональное Программирование. – Брянск: БГТУ, 2012. – 215 с. с.
  13. Нимейер П. Программирование на Java. – Москва: Эксмо, 2014. – 1216 с.
  14. Седжвик Р., Уэйн К. Алгоритмы на Java, 4-е изд. – М.: ООО “И.Д. Вильямс”, 2013. – 848 с.
  15. Сьерра К. Изучаем Java. – М.: Эксмо, 2014. – 708 с.
  16. Шилдт Г. Java. Полное руководство, 8-е изд. – М.: ООО “И.Д. Вильямс”, 2012. – 1104 с.
  17. Буйначев С.К., Боклаг Н.Ю. Основы программирования на языке Python. – М.: Издательство Уральского университета, 2014. – 92 с.
  18. Васильев А.Н. Python на примерах. Практический курс по программированию. – М.: Наука и техника, 2016. – 432 с.
  19. Закас Н. JavaScript для профессиональных веб-разработчиков. – СПб.: Питер, 2015. – 960 с.
  20. Кан М. Основы программирования на JavaScript. – М.: Интуит, 2016. – 167 с.
  21. Хэррон Д. Node.js Разработка серверных веб-приложений на JavaScript. – СПб.: ДМК Пресс, 2012. – 468 с.