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

Интегрированные среды разработки программ (Теоретические основы интегрированных сред разработки программ)

Содержание:

ВВЕДЕНИЕ

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

На сегодняшний день существует большое число средств для разработки программного обеспечения (ПО). Средства разработки программного обеспечения – совокупность приемов, методов, методик, а также набор инструментальных программ (компиляторы, прикладные / системные библиотеки и т. д.), используемых разработчиком для создания программного кода, отвечающего заданным требованиям.

В настоящее время основными инструментами разработки программного обеспечения (ПО) являются интегрированные среды разработки приложений (ИСР/IDE), большинство из которых (особенно для универсальных языков программирования C++, С#, Java) – разработки зарубежных фирм.

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

Для решения поставленной цели были поставлены следующие задачи:

- изучить теоретические основы интегрированных сред разработки программ;

- провести обзор современных интегрированных сред разработки программ;

- провести анализ особенностей современных интегрированных сред разработки программ на примере Microsoft Visual Studio 2019.

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

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

При подготовке работы были использованы такие информационные источники как специализированная профессиональная литература, материалы из СМИ, данные Интернет-ресурсов. Применены такие методы и приемы исследования как анализ, синтез, сравнение.

1. Теоретические основы интегрированных сред разработки программ

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

Интегрированная среда (integrated development environment - IDE) - набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы - набор и редактирование исходного текста (кода), компиляцию (сборку), исполнение, отладку, профилирование и др. [2, с. 45]

Использование интегрированной среды - один из возможных подходов к разработке программ. Альтернативой ему является более ранний, традиционный подход системы UNIX, основанный на использовании набора инструментов (toolkit, toolbox), родственных по тематике и функциональности, но не объединенных в одну интегрированную интерактивную среду и подчас (в ранних версиях системы UNIX) вызываемых в режиме командной строки (command line interface).

Разумеется, использовать интегрированную среду гораздо удобнее для разработчика, чем и объясняется бурное развитие и разнообразие интегрированных сред, начиная с 1980-х годов [4, с. 129].

Одной из первых интегрированных сред стала среда Turbo Pascal фирмы Borland, руководителем разработки которой в середине 1980-х гг. стал Филипп Кан, ученик Никлауса Вирта [7, с. 278].

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

Идея интегрированных сред достигла еще большего развития к середине 1980-х гг., когда появились две группы популярных интегрированных сред:

- Турбо-среды (Turbo Pascal, Turbo C, Turbo C++, Delphi и др.) фирмы Borland для поддержки программирования на этих языках, реализованные сначала для операционной системы MS DOS, затем - для ОС Windows;

- GNU Emacs - многоязыковая и многоплатформная интегрированная среда разработки, реализованная для MS DOS, затем для Windows, OpenVMS и для Linux [7, с. 279].

Следует также упомянуть интегрированную среду тех лет для разработки программ на объектно-ориентированном языке Smalltalk фирмы Xeror PARC - одну из первых интегрированных сред ООП, в которой впервые появилось понятие байт-кода как бинарной постфиксной формы промежуточного представления программы и понятие just-in-time (JIT, динамического) компилятора, выполняющего при первом вызове метода его компиляцию в платформно-зависимый (native) код целевого компьютера [8, с. 135].

Турбо-среды фирмы Borland оказали огромное влияние на разработчиков ПО и создателей инструментов разработки ПО. Их характерной чертой стала поддержка непрерывного цикла разработки: набор и редактирование исходного текста - компиляция - анализ и исправление ошибок - завершение компиляции - исполнение и отладка - без выхода из интегрированной среды, причем все эти этапы управлялись простым набором функциональных клавиш и не требовали явного вызова каких-либо отдельных инструментов. Привлекательным качеством Турбо-сред стала также высокая скорость компиляции. Хотя в первых версиях Турбо-Паскаля компиляция осуществлялась до первой ошибки, и для поиска и диагностики всех ошибок приходилось, после исправления предыдущей, запускать компиляцию снова, но это выполнялось мгновенно с помощью функциональных клавиш [2, с. 47].

Турбо-среды имели встроенный механизм сборки (build) для полной компиляции всех исходных текстов проекта в бинарный код, а также режим make (F9), аналогичный функциональности классической утилиты make системы UNIX, для повторной компиляции только измененных модулей исходного текста.

Самым важным нововведением в среде Турбо-Паскаль было расширение входного языка объектно-ориентированными концепциями (класс, объект) и конструкцией unit (модуль), воплощающей в себе идею независимой единицы компиляции (compilation unit). Поддержка ООП появилась в версии 5.5. Впоследствии эти идеи были развиты, уже на платформе Windows, в новых версиях интегрированных сред фирмы Borland - Borland Pascal и Delphi (язык программирования фирмы Borland, развивающий идеи Паскаля в сочетании с ООП) [2, с. 48].

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

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

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

- текстовый редактор для набора и редактирования исходных текстов программ. В недавнем прошлом в отечественной традиции использовался именно термин исходный текст, впоследствии стал использоваться термин исходный код (source code) [8, с. 137];

- система поддержки сборки (build), то есть компиляции проектов из исходных кодов, включающая компилятор с исходного реализуемого языка и компоновщик (linker) объектных бинарных кодов в единый исполняемый код (загрузочный модуль); компоновщик используется либо штатный, входящий в состав операционной системы, либо специфичный для данной среды;

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

Современные текстовые редакторы в интегрированных средах обеспечивают также режим автоматического завершения кода (code completion), который в них включен по умолчанию и в котором редактор среды подсказывает разработчику кода возможные и синтаксически правильные его продолжения - например, отсутствие закрывающей скобки, отсутствие точки с запятой; возможные варианты имен методов при вызове метода от объекта какого-либо определенного класса, и т.д.

В современных версиях интегрированных сред появились также следующие возможности (компоненты) [2, с. 53]:

- Профилировщик (profiler) - инструмент для накопления и анализа статистических данных, полученных в результате исполнения программы под управлением интегрированной среды: число вызовов процедур (методов), объем памяти, используемой при выполнении программы, и т.д.

- Рефакторинг (refactoring) - инструментарий систематических групповых модификаций программ в среде, без принципиальных изменений их функциональности, с целью улучшения кода. К типичным подобным действиям относится, например, изменение имени метода в его определении и во всех использованиях, добавление его аргумента, добавление try/catch - блока для обработки ранее не учтенного исключения и т.п. [7, с. 281]

- Генератор тестов (unit test generator) - инструмент для генерации типовых тестов для тестирования модулей (units) - методов или процедур - с различными возможными сочетаниями значений аргументов; типичные примеры - инструмент JUnit в интегрированных Java-средах и аналогичный инструмент NUnit в среде Visual Studio.

- Система управления версиями исходных кодов (source code control system) или инструмент интеграции среды с одной из существующих версионных систем (CVS, RCS, Mercurial, Visual SourceSafe и др.) - поддержка управления версиями файлов исходных кодов проектов в среде при сопровождении программ [8, с. 139].

- Инструменты поддержки командной разработки программ (teamwork) - этапов жизненного цикла программы (требования и спецификации, проектирование, реализация, тестирование), распределения заданий по разработке среди участников команды программистов, контроля выполнения заданий менеджером проекта. В среде Visual Studio такая компонента называлась сначала Team Foundation Server (TFS), а, начиная с версии Visual Studio 2013, она реализована в виде облачного интерфейса и получила название Visual Studio Online [4, с. 133].

- Инструменты анализа кода (code analysis) - его семантической корректности: отсутствие некоторых видов ошибок, обнаруживаемых обычно при исполнении, например, недостижимые условия; отсутствие необходимых проверок и полномочий безопасности и др. Эти возможности соответствуют духу и принципам надежных и безопасных вычислений (trustworthy computing), сформулированным в 2002 г. корпорацией Microsoft и последовательно воплощаемым этой фирмой в жизнь. Также в современные среды встраиваются инструменты анализа кода в терминах метрик (metrics), характеризующих его сложность, - например, цикломатическое число графа потоков управления в программе, степень сцепления (взаимосвязанности) классов и т.д.

- Инструменты визуализации сгенерированного бинарного кода - методов, переменных, их имен и т.д. Например, в среде Visual Studio для этой цели имеется утилита ildasm (IL disassembler), позволяющая визуализировать единый промежуточный (бинарный) код платформы .NET - Common Intermediate Language - CIL, сгенерированный одним из компиляторов среды.

- Инструменты «запутывания» кода (obfuscation), выполняющие именно с этой целью замену имен элементов кода - классов, методов, полей и т.д. на непонятные, «случайные», «запутанные» имена, с целью затруднения изучения декомпилированного бинарного кода, для защиты от «взлома» кода злоумышленниками, которые хотят несанкционированным образом присвоить себе новые идеи, содержащиеся в коде, либо изучить его со злонамеренными целями организации атак. Например, в среде Visual Studio имеется «штатный» обфускатор – DotFuscator [2, с. 55].

- Поддержка создания различных видов программных проектов (projects) и решений (solutions) на основе типовых шаблонов кода (code patterns); механизм разработки расширений (plug-ins, add-ins, add-ons). При современной разработке программ подчас требуется создавать очень сильно отличающиеся друг от друга разновидности приложений и инструментов - консольные (простейшие) приложения, Web-приложения и Web-сервисы, мобильные приложения, облачные приложения и др. Для каждой из этих разновидностей требуется разработка специфической структуры файлов исходного кода, а также конфигурационных файлов (configuration files), специфицирующих, например, полномочия безопасности кода, Web-конфигурации и др. Современные интегрированные среды автоматизируют создание различного рода проектов, предоставляя шаблоны исходного кода и генерируя автоматически необходимые для проекта конфигурационные файлы. Трудно представить в настоящее время программирование без использования готовых шаблонов кода, которое неизбежно будет чревато ошибками, - например, очень легко забыть вручную создать тот или иной файл, неотъемлемую часть проекта, либо упустить из вида какой-либо важный фрагмент кода (например, инициировать асинхронный вызов, но не предусмотреть парный к нему вызов, его завершающий). Поэтому поддержка интегрированными средами различных видов проектов особенно важна. Кроме того, набор возможных видов проектов в современных интегрированных средах является расширяемым, т.е. разработчик может ввести в среду при необходимости новый вид проекта. Например, при реализации нашего инструмента аспектно-ориентированного программирования Aspect.NET как расширения интегрированной среды Visual Studio мы ввели новый вид проекта - аспект (aspect) с соответствующим шаблоном кода [2, с. 57].

- Поддержка моделирования структуры программ на языке моделирования UML (Unified Modeling Language). Современная версия языка UML (2.x) обеспечивает построение моделей различного рода программ и соответствующих этим моделям диаграмм. Кроме того, UML поддерживает разработку моделей деятельности при разработке программ и взаимодействия разработчиков между собой (activity diagrams). Современные интегрированные среды поддерживают использование языка UML в двух направлениях: генерация модели и соответствующей диаграммы по исходному коду и, наоборот, генерация (шаблона) исходного кода по разработанной модели [4, с. 135].

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

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

1. Microsoft Visual Studio.

Официальный сайт: https://visualstudio.microsoft.com/ru/

Платформы: Windows/macOS (для Linux есть только редактор кода).

Поддерживаемые языки: Ajax, ASP.NET, DHTML, ASP.NET, JavaScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML и другие.

Лицензия: условно-бесплатная.

Стоимость: от 45$ в месяц. Есть бесплатная версия (Community) для частного использования, студентов и создателей опенсорсовых проектов.

Рисунок 1 – Логотип Microsoft Visual Studio [18]

Microsoft Visual Studio – это премиум IDE, стоимость которой зависит от редакции и типа подписки. Она позволяет создавать самые разные проекты, начиная с мобильных и веб-приложений и заканчивая видеоиграми. Microsoft Visual Studio включает в себя множество инструментов для тестирования совместимости – пользователь сможет проверить свое приложение на более чем 300 устройствах и браузерах. Благодаря своей гибкости, эта IDE отлично подойдет как для студентов, так и для профессионалов.

Рисунок 2 – Интерфейс Microsoft Visual Studio [18]

Особенности:

- огромная коллекция всевозможных расширений, которая постоянно пополняется;

- технология автодополнения IntelliSense;

- возможность кастомизировать рабочую панель;

- поддержка разделенного экрана (split screen).

Из недостатков можно выделить тяжеловесность этой IDE. Для выполнения даже небольших правок могут потребоваться значительные ресурсы, поэтому если нужно выполнить какую-то простую и быструю задачу, удобнее использовать более легкий редактор.

2. PhpStorm.

Официальный сайт: https://www.jetbrains.com/ru-ru/phpstorm/

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: PHP, JavaScript, HTML, CSS, SASS, LESS и т.д.

Лицензия: платная.

Стоимость: от 199$ в год (последующие года будут стоить дешевле). 

Рисунок 3 – Логотип PhpStorm [19]

Умная среда от известной компании JetBrains предназначена для разработки на PHP, JavaScript, HTML и CSS и идеально подходит для работы с различными CMS: Drupal, Wordpress, Symfony, Joomla и многими другими. Среда разработки глубоко анализирует структуру кода, помогая избегать ошибок, а также поддерживает базы данных и SQL.

Рисунок 4 – Интерфейс PhpStorm [19]

Преимущества:

- автодополнение кода и качественная отладка;

- удобная навигация;

- безопасный рефакторинг – применить изменения во всем проекте можно за пару кликов;

- функция Live Edit позволяет мгновенно посмотреть все изменения в браузере;

- интерфейс будет понятен даже новичкам.

Недостатки:

- нет бесплатной версии. Но можно скачать триал.  

3. CLion.

Официальный сайт: https://www.jetbrains.com/ru-ru/clion/

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: С++, C, Objective C, Kotlin, Python, Swift, Fortran, JavaScript, CSS и другие.

Лицензия: платная.

Стоимость: от 199$ в год (последующие года будут стоить дешевле). 

Рисунок 5 – Логотип CLion [20]

И снова продукт JetBrains. CLion – идеальное кроссплатформенное решение для тех, кто работает на C и C++ (и не только). Умный редактор, удобный генератор кода, статический и динамический анализ, безопасный рефакторинг. Особенности данной среды разработки достаточно обширны.

Рисунок 6 – Интерфейс CLion [20]

Преимущества:

- поддержка удаленной разработки по SSH;

- просмотр значений переменных прямо в редакторе;

- умная помощь при написании кода;

- возможность кастомизировать редактор;

- быстрый и безопасный рефакторинг;

- широкий функционал. IDE можно использовать даже для программирования микроконтроллеров.

Недостатки:

- нет бесплатной версии. Но, как и в случае с PhpStorm, можно скачать пробную версию.

4. PyCharm.

Официальный сайт: https://www.jetbrains.com/pycharm/

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: Python, Jython, Cython, IronPython, PyPy, AngularJS, Coffee Script, HTML/CSS, Django/Jinja2 templates, Gql, LESS/SASS/SCSS/HAML, Mako, Puppet, RegExp, Rest, SQL, XML, YAML и т.д.

Лицензия: условно-бесплатная.

Стоимость: от 199$ в год. Есть бесплатная версия, но она работает только с Python.

Рисунок 7 – Логотип PyCharm [21]

Это интегрированная среда разработки на языке Python, которая была разработана международной компанией JetBrains. Эта IDE распространяется под несколькими лицензиями, в том числе как Community Edition, где чуть урезан функционал. Сами разработчики характеризуют свой продукт как «самую интеллектуальную Python IDE с полным набором средств для эффективной разработки на языке Python».

Рисунок 8 – Интерфейс PyCharm [21]

Преимущества:

- поддержка Google App Engine; IronPython, Jython, Cython, PyPy wxPython, PyQt, PyGTK и др.;

- поддержка Flask-фреймворка и языков Mako и Jinja2;

- редактор Javascript, Coffescript, HTML/CSS, SASS, LESS, HAML;

- интеграция с системами контроля версий (VCS);

- UML диаграммы классов, диаграммы моделей Django и Google App Engine.

Недостатки:

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

5. IntelliJ IDEA.

Официальный сайт: https://www.jetbrains.com/ru-ru/idea/

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: Java, AngularJS, Scala, Groovy, AspectJ, CoffeeScript, HTML, Kotlin, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass,TypeScript, SQL и другие.

Лицензия: условно-бесплатная.

Стоимость: от 499$ в год. Бесплатная версия работает только с Java и Android.

Рисунок 9 – Логотип IntelliJ IDEA [22]

Еще одна IDE, разработанная компанией Jet Brains. Здесь тоже есть возможность использовать бесплатную версию Community Edition, а у платной версии есть тестовый 30-дневный период. Изначально IntelliJ IDEA создавалась как среда разработки для Java, но сейчас разработчики определяют эту IDE как «самую умную и удобную среду разработки для Java, включающую поддержку всех последних технологий и фреймворков». Используя плагины, эту IDE можно использовать для работы с другими языками.

Рисунок 10 – Интерфейс IntelliJ IDEA [22]

Преимущества:

- инструменты для анализа качества кода, удобная навигация, расширенные рефакторинги и форматирование для Java, Groovy, Scala, HTML, CSS, JavaScript, CoffeeScript, ActionScript, LESS, XML и многих других языков;

- интеграция с серверами приложений, включая Tomcat, TomEE, GlassFish, JBoss, WebLogic, WebSphere, Geronimo, Resin, Jetty и Virgo;

- инструменты для работы с базами данных и SQL файлами;

- интеграция с коммерческими системами управления версиями Perforce, Team Foundation Server, ClearCase, Visual SourceSafe;

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

Недостатки:

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

6. Eclipse.

Официальный сайт: https://www.eclipse.org/ide/

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.

Лицензия: бесплатная.

Рисунок 11 – Логотип Eclipse [23]

Это бесплатная среда разработки с открытым исходным кодом, которая хорошо подойдет как новичкам, так и опытным разработчикам. Помимо инструментов отладки и поддержки Git/CVS, Eclipse поставляется с Java и инструментом для создания плагинов. Изначально Eclipse использовалась только для Java, но сейчас, благодаря плагинам и расширениям, ее функции значительно расширились. Именно из-за возможности расширить Eclipse своими модулями эта платформа и завоевала свою популярность среди разработчиков. Функционал Eclipse не такой большой, как у IntelliJ IDEA, зато эта среда разработки распространяется с открытым исходным кодом.

Рисунок 12 – Интерфейс Eclipse [23]

Преимущества:

- возможность программировать на множестве языков.

- значительная гибкость среды за счет модульности.

- возможность интеграции JUnit.

- удаленная отладка (при использовании JVM).

Недостатки:

- новичкам может быть сложно разобраться в многообразии возможностей.

7. NetBeans.

Официальный сайт: https://netbeans.org/

Платформы: Windows/Linux/macOS/BSD

Поддерживаемые языки: C, C++, C++ 11, Fortan, HTML 5, Java, PHP и другие.

Лицензия: бесплатная.

Рисунок 13 – Логотип NetBeans [24]

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

Рисунок 14 – Интерфейс NetBeans [24]

Преимущества:

- интуитивно понятный интерфейс drag-and-drop;

- динамические и статические библиотеки;

- возможность удаленной разработки;

- совместима с Windows, Linux, macOS и Solaris;

- поддержка Qt;

- поддерживает различные компиляторы, в том числе CLang/LLVM, Cygwin, GNU, MinGW и Oracle Solaris Studio.

Недостатки:

- NetBeans требуется много памяти, поэтому на некоторых машинах эта среда может подтормаживать.

8. Xcode.

Официальный сайт: https://developer.apple.com/xcode/

Платформы: macOS.

Поддерживаемые языки: AppleScript, C, C++, Java, Objective-C, Swift. ​

Лицензия: бесплатная.

Рисунок 15 – Логотип Xcode [25]

Функциональная среда для создания приложений под продукты Apple – iPhone, iPad, Mac, Apple TV и Apple Watch. В IDE могут работать как индивидуальные, так и корпоративные разработчики. Чтобы разместить созданное приложение в App Store, необходимо купить лицензию разработчика.

Рисунок 16 – Интерфейс Xcode [25]

Преимущества:

- фирменный компилятор Apple;

- создание прототипов без написания кода;

- умный анализатор кода.

Недостатки:

- работает только на Mac.

9. Code::Blocks.

Официальный сайт: http://www.codeblocks.org

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: C, C++, Fortran.

Лицензия: бесплатная.

Рисунок 17 – Логотип Code::Blocks [26]

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

Рисунок 18 – Интерфейс Code::Blocks [26]

Преимущества:

- удобная структура меню;

- высокая производительность;

- встроенная система быстрой сборки.

Недостатки:

- не подойдет профессионалам;

- много багов;

- несколько устаревший интерфейс.

10. Komodo.

Официальный сайт: http://www.activestate.com/komodo-ide

Платформы: Windows/Linux/macOS.

Поддерживаемые языки: CSS, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby и другие.

Лицензия: бесплатная.

Рисунок 19 – Логотип Komodo [27]

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

Рисунок 20 – Интерфейс Komodo [27]

Преимущества:

- возможности удобной кастомизации;

- поддерживает популярные системы контроля версий;

- умная подсветка синтаксиса;

- неплохой визуальный отладчик.

Недостатки:

- к бесплатной IDE с такими возможностями и не придерешься.

2. Анализ особенностей современных интегрированных сред разработки программ на примере Microsoft Visual Studio 2019

2.1. Общие сведения о Microsoft Visual Studio 2019

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

Рисунок 21 - Структура интерфейса Microsoft Visual Studio 2019 [18]

На рисунке показана среда Visual Studio с открытым проектом и несколькими окнами основных инструментов, которые, скорее всего, понадобятся:

- Обозреватель решений (вверху справа) позволяет просматривать файлы кода, перемещаться по ним и управлять ими. Обозреватель решений позволяет упорядочить код путем объединения файлов в решения и проекты.

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

- Team Explorer (правый нижний угол) позволяет отслеживать рабочие элементы и использовать код совместно с другими пользователями с помощью технологий управления версиями, таких как Git и система управления версиями Team Foundation (TFVC).

С помощью Visual Studio можно разрабатывать:

- классические приложения для компьютера под управлением операционной системы Windows;

- мобильные приложения (Windows, iOS, Android);

- Web-приложения;

- облачные приложения;

- различные расширения для Office, SharePoint, а также создание собственных расширений для Visual Studio;

- игры;

- базы данных SQL Server и SQL Azure.

В Visual Studio программист может использовать следующие технологии и языки программирования: .NET, Node.js, C, C#, C++, Python, Visual Basic, F#, JavaScript.

Актуальной на текущий момент является версия Visual Studio 2019, выпускается она в следующих редакциях:

- Community – бесплатная версия среды разработки Visual Studio. Чтобы ее использовать, необходимо создать учетную запись Visual Studio, в противном случае она будет действовать 30 дней. Редакция имеет меньший функционал по сравнению с платными редакциями, однако она включает все необходимое для создания полноценных приложений. Походит для индивидуальных разработчиков и обучения;

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

- Enterprise – полнофункциональная версия Visual Studio. Комплексное решение для разработки приложений. Подходит для групп любого размера с высокими требованиями к качеству и масштабу.

Среду Visual Studio 2019 можно установить и работать в ней на следующих операционных системах (перечислены официально поддерживаемые версии):

- Windows 7 с Service Pack 1;

- Windows 8.1 (с обновлением 2919355);

- Windows 10 (1703 и выше);

- Windows Server 2012 R2 (с обновлением 2919355);

- Windows Server 2016 (Standard и Datacenter);

- Windows Server 2019 (Standard и Datacenter).

Минимальные требования к оборудованию:

- процессор с тактовой частотой не ниже 1,8 ГГц. Рекомендуется использовать как минимум двухъядерный процессор;

- 2 ГБ оперативной памяти, рекомендуется 8 ГБ (если устанавливать на виртуальную машину, то минимум 2.5 ГБ);

- свободного места на жестком диске от 800 мегабайт до 210 гигабайт, в зависимости от установленных компонентов. В большинстве случаев необходимо выделять как минимум 30 гигабайт. Также Microsoft рекомендует устанавливать Visual Studio на SSD диск;

- видеоадаптер с минимальным разрешением 1280 на 720 пикселей (для оптимальной работы Visual Studio рекомендуется разрешение 1366 на 768 пикселей и более высокое).

Дополнительные важные моменты:

- для установки Visual Studio 2019 требуются права администратора;

- для работы Visual Studio 2019 требуется платформа .NET Framework 4.7.2, она будет установлена во время установки среды;

- варианты «Основные серверные компоненты» и «Минимальный серверный интерфейс» не поддерживаются при запуске на Windows Server;

- запуск Visual Studio 2019 (Professional, Community и Enterprise) в контейнерах Windows не поддерживается;

- для интеграции Team Foundation Server 2019 с Office требуется Office 2016, Office 2013 или Office 2010;

- для установки компоненты «Разработка мобильных приложений на C++, JavaScript или .NET» в ОС Windows 7 требуется PowerShell 3.0 или более поздняя версия;

- Visual Studio Community 2019 требуется активировать в течение 30 дней после установки, для этого необходимо создать учетную запись.

Новых возможностей в среде Visual Studio 2019 появилось очень много, перечислим только небольшую часть:

- новый интерфейс создания проектов;

- новые возможности установки обновлений – теперь можно выбрать способ установки обновлений Visual Studio и полностью контролировать его («Сервис -> Параметры»), а также обновления Visual Studio загружаются в фоновом режиме, только когда компьютер бездействует;

- доступна совместная работа с другими пользователями с помощью среды Visual Studio Live Share, которая устанавливается по умолчанию;

- переработан интерфейс среды, в частности увеличено вертикальное пространство для кода;

- добавлен вид расширения: «Бесплатное», «Платное» и «Пробная версия» – теперь гораздо легче распознать версию расширения, также добавлены соответствующие теги, для более удобного поиска;

- система управления версиями – теперь можно временно сохранить изменения, чтобы работать над другими задачами, это возможно благодаря поддержке временного хранилища Git средствами Git в Team Explorer;

- очистка кода одним щелчком – теперь отреагировать на предупреждения и рекомендации среды можно одним нажатием кнопки;

- усовершенствованный поиск – теперь поиск выдает более точные результаты (а также поиск стал возможен в окнах отладки);

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

2.2. Создание нового проекта в Microsoft Visual Studio 2019

Теперь предлагаем запустить Visual Studio 2019, и посмотреть, как она выглядит, и для примера создадим проект программы, и запустим его на выполнение.

При первом запуске нам предлагают войти в учетную запись, если она есть, то входите, если нет, можно ее создать прямо сейчас, также возможно отложить создание учетной записи, для этого просто нужно нажать кнопку «Не сейчас! Возможно, позже» (рис. 22).

Рисунок 22 – Вход в учетную запись Microsoft Visual Studio 2019

Затем выбираем цветовую схему оформления среды Visual Studio и нажимаем «Запуск Visual Studio» (рис. 23).

Рисунок 23 – Настройка Microsoft Visual Studio 2019

Далее, так как никаких проектов у нас еще нет, мы можем создать новый проект, или продолжить без кода и создать проект позднее.

Для примера сразу создадим проект (рис. 24).

Рисунок 24 – Создание проекта в Microsoft Visual Studio 2019

В качестве шаблона проекта выберем «Мастер классических приложений Windows» (рис. 25). Нажимаем «Далее».

Рисунок 25 – Создание проекта в Microsoft Visual Studio 2019

Затем указываем название проекта и расположение файлов этого проекта (рис. 26). Нажимаем «Создать».

Рисунок 26 – Настройка проекта в Microsoft Visual Studio 2019

Потом выбираем тип приложения и дополнительные параметры, если требуется. Выберем «Классическое приложение», параметры оставим по умолчанию. Нажимаем «ОК» (рис. 27).

Рисунок 27 – Создание проекта в Microsoft Visual Studio 2019

В итоге будет создан шаблон программы, включая код, который, кстати, будет подробно прокомментирован на русском языке, и все необходимые ресурсы, т.е. по факту шаблонная программа уже будет создана, и чтобы запустить ее, можно сразу нажать на кнопку «Локальный отладчик Windows», на панели инструментов (рис. 28).

Рисунок 28 – Создание проекта в Microsoft Visual Studio 2019

В результате запустится программа, в которой даже будет меню (рис. 29).

Рисунок 29 – Создание проекта в Microsoft Visual Studio 2019

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

ЗАКЛЮЧЕНИЕ

Интегрированная среда разработки (integrated development environment, IDE) — класс ПО, обеспечивающий организацию процесса разработки ПО через объединение основных необходимых для этого компонентов за общим «фасадом» (пользовательским интерфейсом).

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

Для повышения продуктивности и удобства разработки ПО создаются «интегрированные среды разработки» (IDE). Они либо предлагают полноценный «тулчейн» (toolchain) в своём составе (например, Microsoft Visual Studio включает реализацию стандартной библиотеки, компилятор, компоновщик и отладчик, разработанные компанией Microsoft), либо предполагает установку стороннего тулчейна из широкораспространённых компонент (например, из состава GNU).

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

Основной единицей управления исходным кодом, используемой в различных IDE является проект. Как правило, также поддерживается некоторый способ объединения родственных проектов в группы. В Microsoft Visual Studio такое объединение называется решение solution. Оно создаётся по умолчанию с каждым новым проектом. В Eclipse и ряде других IDE группа проектов существует в своём рабочем пространстве workspace. Это более крупное объединение, чем «решение», и позволяет привязывать набор общих инструментов ко всем проектам пространства.

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

   

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

  1. Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2018. — 208 c.
  2. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: Академия, 2017. — 368 c.
  3. Брагина И.В., Голубева В.М., Чернова С.В. Сравнительный анализ Eclipse и IntelliJ IDEA – Сред разработки на языке Java // Студенческий форум. – 2019. – № 21-1 (21). – С. 14-17
  4. Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2017. — 184 c.
  5. Гаврилов М.В. Информатика и информационные технологии: Учебник для бакалавров / М.В. Гаврилов, В.А. Климов; Рецензент Л.В. Кальянов, Н.М. Рыскин. - М.: Юрайт, 2016. – 231 с.
  6. Гвоздева В.А. Информатика, автоматизированные информационные технологии и системы: Учебник / В.А. Гвоздева. - М.: ИНФРА-М, 2017. – 573 с.
  7. Голицына О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — М.: ИНФРА-М, 2017. — 400 c.
  8. Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: Академия, 2017. — 304 c.
  9. Дейтел П., Дейтел Х., Уолд А. Android для разработчиков. – СПб: Питер, 2016. – 81 с.
  10. Довек Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. — М.: ДМК, 2016. — 134 c.
  11. Дорогов В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. — М.: ИНФРА-М, 2016. — 224 c.
  12. Касторнова В.А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль: Учебное пособие / В.А. Касторнова. — СПб.: BHV, 2016. — 304 c.
  13. Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2017. — 464 c.
  14. Керниган Б. Язык программирования C / Б. Керниган, Д.М. Ритчи. — М.: Вильямс, 2016. — 288 c.
  15. Мезенцев К. Н. Автоматизированные информационные системы: учебник / К.Н. Мезенцев. – М.: Академия, 2017. – 176 c.
  16. Монахов В.В. Язык программирования Java и среда NetBeans. – СПб.: БХВ-Петербург, 2017. – 75 с.
  17. Фадеев А.Ю., Волкова Е.А. Сравнительный анализ программного обеспечения для разработки мобильных приложений // Наука и перспективы. – 2019. – № 3. – С. 27-42
  18. Официальный сайт Microsoft Visual Studio [Электронный ресурс]. - Режим доступа: https://visualstudio.microsoft.com
  19. Официальный сайт PhpStorm [Электронный ресурс]. - Режим доступа: https://www.jetbrains.com/ru-ru/phpstorm
  20. Официальный сайт CLion [Электронный ресурс]. - Режим доступа: https://www.jetbrains.com/ru-ru/clion
  21. Официальный сайт PyCharm [Электронный ресурс]. - Режим доступа: https://www.jetbrains.com/pycharm
  22. Официальный сайт IntelliJ IDEA [Электронный ресурс]. - Режим доступа: https://www.jetbrains.com/ru-ru/idea
  23. Официальный сайт Eclipse [Электронный ресурс]. - Режим доступа: https://www.eclipse.org/ide
  24. Официальный сайт NetBeans [Электронный ресурс]. - Режим доступа: https://netbeans.org
  25. Официальный сайт Xcode [Электронный ресурс]. - Режим доступа: https://developer.apple.com/xcode
  26. Официальный сайт Code::Blocks [Электронный ресурс]. - Режим доступа: http://www.codeblocks.org
  27. Официальный сайт Komodo [Электронный ресурс]. - Режим доступа: http://www.activestate.com/komodo-ide