Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Обзор [ править ]

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

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

Одна из целей IDE - уменьшить конфигурацию, необходимую для объединения нескольких утилит разработки, вместо этого она предоставляет тот же набор возможностей, что и одна связная единица. Сокращение времени настройки может повысить продуктивность разработчика, особенно в тех случаях, когда обучение использованию IDE происходит быстрее, чем ручная интеграция и изучение всех отдельных инструментов. Более тесная интеграция всех задач разработки может повысить общую продуктивность, помимо помощи в выполнении задач по настройке. Например, код можно непрерывно анализировать во время его редактирования, обеспечивая мгновенную обратную связь при появлении синтаксических ошибок, что позволяет разработчикам отлаживать код намного быстрее и проще с помощью 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, первая в мире интегрированная среда разработки [1] для программного обеспечения. Maestro I был установлен для 22 000 программистов по всему миру. До 1989 года в Федеративной Республике Германии существовало 6000 установок . Маэстро, возможно, был мировым лидером в этой области в 1970-х и 1980-х годах. Сегодня одного из последних Маэстро меня можно найти в Музее информационных технологий в Арлингтоне, штат Техас.

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

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

Темы [ править ]

Подсветка синтаксиса [ править ]

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

Автозавершение кода [ править ]

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

Рефакторинг [ править ]

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

Контроль версий [ править ]

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

Отладка [ править ]

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

Поиск кода [ править ]

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

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

Визуальное программирование - это сценарий использования, в котором обычно требуется 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 языков. [7] Eclipse и Netbeans имеют плагины для C / C ++ , Ada , GNAT (например, AdaGIDE ), Perl , Python , Ruby и PHP , которые выбираются автоматически в зависимости от расширения файла, среды или настроек проекта.

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

Программисты Unix могут объединить инструменты POSIX командной строки в полную среду разработки, способную разрабатывать большие программы, такие как ядро Linux и его среда. [8] В этом смысле вся система Unix функционирует как IDE. [9] Бесплатные инструменты GNU ( GNU Compiler Collection (GCC), GNU Debugger (GDB) и GNU make ) доступны на многих платформах, включая Windows. [10] Распространенная философия Unix «все является текстовым потоком» позволяет разработчикам, которые предпочитают командную строкуориентированные на использование редакторов инструменты с поддержкой многих стандартных инструментов сборки Unix и GNU, построение IDE с помощью таких программ, как Emacs [11] [12] [13] или Vim . Отладчик отображения данных предназначен для использования в качестве расширенного графического интерфейса для многих стандартных инструментов текстового отладчика . Некоторые программисты предпочитают управление make-файлами и их производными аналогичным инструментам для создания кода, включенным в полную IDE. Например, большинство разработчиков базы данных PostgreSQL используют make и GDB непосредственно для разработки новых функций. [14] Даже при сборке PostgreSQL дляMicrosoft Windows, использующая Visual C ++ , сценарии Perl используются в качестве замены make, а не полагаются на какие-либо функции IDE. [15] Некоторые 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 могут выиграть от достижений в области искусственного интеллекта. [16] В частности, можно собирать информацию о действиях IDE между разработчиками, чтобы расширить возможности IDE. [17] Например, управляемый данными подход к завершению кода приводит к интеллектуальному завершению кода .

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

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

См. Также [ править ]

  • Сравнение интегрированных сред разработки
  • Среда совместной разработки (CDE)
  • Компьютерная инженерия программного обеспечения (CASE)
  • Интегрированная среда разработки игр
  • Многодокументный интерфейс § Интерфейс в стиле IDE (MDI)
  • Быстрая разработка приложений (RAD)
  • Цикл чтения – вычисления – печати (REPL)
  • Инструменты анализа кода
  • Инструменты рефакторинга исходного кода
  • Инструменты для создания программного обеспечения ( компилятор , компоновщик и т. Д., А также инструмент автоматизации сборки , используемый для управления ими)
  • Контроль версий , также называемый исходным репозиторием (управление конфигурацией)
  • Протокол языкового сервера
  • Средство структурированного программирования

Ссылки [ править ]

  1. ^ "Interaktives Programmieren als Systems-Schlager" от Computerwoche ( немецкий )
  2. ^ Верхний индекс IDE
  3. ^ a b c "Курс CS350 Интегрированные среды разработки" . cs.odu.edu . Университет Старого Доминиона . Проверено 10 октября 2018 года .
  4. ^ «Программное обеспечение для программирования и IDE» . BBC Bitesize . Проверено 10 октября 2018 года .
  5. ^ "Кулинарная книга Eclipse - Код поиска" . О'Рейли .
  6. ^ Киммиг, Маркус; Монперрус, Мартин; Мезини, Мира (2011). «Запрос исходного кода на естественном языке» . 2011 26-я Международная конференция IEEE / ACM по автоматизированной разработке программного обеспечения (ASE 2011) . С. 376–379. arXiv : 1205,6361 . DOI : 10.1109 / ASE.2011.6100076 . ISBN 978-1-4577-1639-3. S2CID  6898947 .
  7. ^ "Архивная копия" . Архивировано из оригинального 10 -го марта 2014 года . Проверено 10 марта 2014 .CS1 maint: заархивированная копия как заголовок ( ссылка )
  8. ^ Рехман, Кристофер Пол, Кристофер Р. Пол. «Платформа разработки Linux: настройка, использование и поддержка полной среды программирования». 2002. ISBN 0-13-009115-4. 
  9. ^ "UnixIsAnIde" .
  10. ^ «Используйте Emacs с Microsoft Visual C ++ ... используйте Emacs как IDE». Архивировано 4 июля 2013 г. на Wayback Machine.
  11. ^ "Emacs: среда разработки свободного программного обеспечения"
  12. ^ "Использование Emacs как Lisp IDE"
  13. ^ "Emacs как Perl IDE"
  14. ^ Часто задаваемые вопросы разработчика PostgreSQL
  15. ^ Установка PostgreSQL из исходного кода в Windows
  16. ^ Уильямс, Кристина Мерсер и Ханна. «Инструменты искусственного интеллекта, которые нужно попробовать всем разработчикам» . Techworld .
  17. ^ Брух, Марсель; Бодден, Эрик; Монперрус, Мартин; Мезини, Мира. «IDE 2.0: коллективный разум в разработке программного обеспечения» . DOI : 10.1145 / 1882362.1882374 . S2CID 7637561 .  Цитировать журнал требует |journal=( помощь )
  18. ^ «Веб-инструменты и инструменты для настольных компьютеров - EclipseSource» . eclipsesource.com .