Интегрированная среда разработки - Integrated development environment

Anjuta - это IDE для программирования на C и C ++ в среде рабочего стола GNOME .

Интегрированная среда разработки ( IDE ) представляет собой программное приложение , которое обеспечивает всесторонние возможности для программистов для разработки программного обеспечения . IDE обычно состоит как минимум из редактора исходного кода , средств автоматизации сборки и отладчика . Некоторые IDE, такие как NetBeans и Eclipse , содержат необходимый компилятор , интерпретатор или и то, и другое; другие, такие как SharpDevelop и Lazarus , этого не делают.

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

Обзор

Vim со встроенным автозаполнением и линтингом через внешний плагин

Интегрированные среды разработки предназначены для максимального увеличения производительности программистов за счет предоставления тесно связанных компонентов с похожими пользовательскими интерфейсами . IDE представляют собой единую программу, в которой выполняется вся разработка. Эта программа обычно предоставляет множество функций для создания, изменения, компиляции, развертывания и отладки программного обеспечения. Это контрастирует с разработкой программного обеспечения с использованием посторонних инструментов, таких как vi , GDB , GCC или make .

Одна из целей IDE - уменьшить конфигурацию, необходимую для объединения нескольких утилит разработки, вместо этого она предоставляет тот же набор возможностей, что и одна связная единица. Сокращение времени настройки может повысить продуктивность разработчика, особенно в тех случаях, когда обучение использованию IDE происходит быстрее, чем ручная интеграция и изучение всех отдельных инструментов. Более тесная интеграция всех задач разработки может повысить общую производительность, помимо помощи в выполнении задач по настройке. Например, код можно непрерывно анализировать во время его редактирования, обеспечивая мгновенную обратную связь при появлении синтаксических ошибок, что позволяет разработчикам отлаживать код намного быстрее и проще с помощью IDE.

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

В то время как большинство современных Ид являются графическими, текстовою Ида , таких как Turbo Pascal была в популярном использовании до наличия оконных систем , таких как Microsoft Windows и системы X Window System (X11). Они обычно используют функциональные клавиши или горячие клавиши для выполнения часто используемых команд или макросов.

История

GNU Emacs , расширяемый редактор, который обычно используется в качестве IDE в Unix-подобных системах.

Изначально IDE стали возможны при разработке через консоль или терминал . Ранние системы не могли поддерживать один, поскольку программы были подготовлены с использованием блок-схем, ввода программ с перфокарт (или бумажной ленты и т. Д.) Перед отправкой их компилятору . Dartmouth BASIC был первым языком, созданным с помощью IDE (а также первым языком, предназначенным для использования перед консолью или терминалом). Его IDE (часть Dartmouth Time Sharing System ) была основана на командах и поэтому мало походила на управляемые меню графические IDE, популярные после появления графического пользовательского интерфейса . Однако он интегрировал редактирование, управление файлами, компиляцию, отладку и выполнение в манере, совместимой с современной IDE.

Maestro I - продукт Softlab Munich, первая в мире интегрированная среда разработки программного обеспечения. Maestro I был установлен для 22 000 программистов по всему миру. До 1989 года в Федеративной Республике Германии существовало 6000 установок . Маэстро, возможно, был мировым лидером в этой области в 1970-х и 1980-х годах. Сегодня одного из последних Маэстро меня можно найти в Музее информационных технологий в Арлингтоне, штат Техас.

Одной из первых IDE с концепцией плагинов была Softbench . В 1995 году Computerwoche отметила, что использование IDE не было хорошо принято разработчиками, поскольку это ограничивало их творческий потенциал.

По состоянию на январь 2021 года тремя IDE, страницы загрузки которых чаще всего ищут, являются Visual Studio , Eclipse и Android Studio .

Темы

Подсветка синтаксиса

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

Автозавершение кода

Автозавершение кода - важная функция IDE, предназначенная для ускорения программирования. Современные IDE даже имеют интеллектуальное автозавершение кода .

Рефакторинг

Расширенные IDE обеспечивают поддержку автоматического рефакторинга .

Контроль версий

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

Отладка

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

Поиск кода

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

Визуальное программирование

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

Этот интерфейс был популяризирован системой Lego Mindstorms и активно изучается рядом компаний, желающих извлечь выгоду из возможностей настраиваемых браузеров, подобных тем, что есть в Mozilla . KTechlab поддерживает потоковый код и является популярной IDE и симулятором с открытым исходным кодом для разработки программного обеспечения для микроконтроллеров. Визуальное программирование также отвечает за мощь распределенного программирования (см. Программное обеспечение LabVIEW и EICASLAB ). Ранняя система визуального программирования Max была создана по образцу аналогового синтезатора и использовалась для разработки программного обеспечения для исполнения музыки в реальном времени с 1980-х годов. Другой ранний пример - Prograph , система на основе потока данных, изначально разработанная для Macintosh . Для программирования комплектов роботов qfix используется графическая среда программирования "Виноград" .

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

Языковая поддержка

Некоторые IDE поддерживают несколько языков, например GNU Emacs на основе C и Emacs Lisp , а также IntelliJ IDEA , Eclipse , MyEclipse или NetBeans , все на основе Java или MonoDevelop на основе C # или PlayCode.

Поддержка альтернативных языков часто обеспечивается плагинами , что позволяет устанавливать их в одной среде IDE в одно и то же время. Например, Flycheck - это современное расширение для оперативной проверки синтаксиса для GNU Emacs 24 с поддержкой 39 языков. Eclipse и Netbeans имеют плагины для C / C ++ , Ada , GNAT (например, AdaGIDE ), Perl , Python , Ruby и PHP , которые выбираются автоматически в зависимости от расширения файла, среды или настроек проекта.

Отношение к разным вычислительным платформам

Программисты Unix могут объединить инструменты POSIX командной строки в полную среду разработки, способную разрабатывать большие программы, такие как ядро Linux и его среда. В этом смысле вся система Unix функционирует как IDE. Бесплатные инструменты GNU ( GNU Compiler Collection (GCC), GNU Debugger (GDB) и GNU make ) доступны на многих платформах, включая Windows. Распространенная философия Unix «все является текстовым потоком» позволяет разработчикам, которые предпочитают инструменты, ориентированные на командную строку, использовать редакторы с поддержкой многих стандартных инструментов сборки Unix и GNU, создавая IDE с такими программами, как Emacs или Vim . Отладчик отображения данных предназначен для использования в качестве расширенного графического интерфейса для многих стандартных инструментов текстового отладчика . Некоторые программисты предпочитают управление make-файлами и их производными аналогичным инструментам для создания кода, включенным в полную IDE. Например, большинство разработчиков базы данных PostgreSQL используют make и GDB напрямую для разработки новых функций. Даже при создании PostgreSQL для Microsoft Windows с использованием Visual C ++ , Perl скрипты используются в качестве замены для макияжа , а не полагаться на каких - либо возможностей IDE. Некоторые IDE Linux, такие как Geany, пытаются предоставить графический интерфейс для традиционных операций сборки.

На различных платформах Microsoft Windows инструменты командной строки для разработки используются редко. Соответственно, существует множество коммерческих и некоммерческих продуктов. Однако каждый из них имеет разную конструкцию, что обычно приводит к несовместимости. Большинство основных поставщиков компиляторов для Windows по-прежнему предоставляют бесплатные копии своих инструментов командной строки, включая Microsoft ( Visual C ++ , Platform SDK , .NET Framework SDK, утилита nmake ).

IDE всегда были популярны в классических Mac OS и macOS Apple Macintosh , начиная с Macintosh Programmer's Workshop , Turbo Pascal , THINK Pascal и THINK C середины 1980-х годов. В настоящее время программисты macOS могут выбирать между собственными IDE, такими как Xcode, и инструментами с открытым исходным кодом, такими как Eclipse и Netbeans . ActiveState Komodo - это проприетарная многоязычная IDE, поддерживаемая в macOS.

Искусственный интеллект

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

Интегрированная веб-среда разработки

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

Смотрите также

использованная литература