stringtranslate.com

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

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

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

Обзор

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

Интегрированные среды разработки предназначены для максимизации производительности программиста путем предоставления тесно связанных компонентов с похожими пользовательскими интерфейсами . IDE представляют собой единую программу, в которой выполняется вся разработка. Эта программа обычно предоставляет множество функций для создания, изменения, компиляции, развертывания и отладки программного обеспечения. Это контрастирует с разработкой программного обеспечения с использованием несвязанных инструментов, таких как vi , GDB , GNU Compiler Collection или 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 ) была основана на командах и поэтому не очень походила на управляемые меню графические IDE, популярные после появления графического пользовательского интерфейса . Однако он интегрировал редактирование, управление файлами, компиляцию, отладку и выполнение способом, соответствующим современной IDE.

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

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

По состоянию на август 2023 года наиболее часто искомыми IDE в Google Поиске были Visual Studio , Visual Studio Code и Eclipse . [2]

Темы

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

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

Автодополнение кода

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

Интеллектуальное завершение кода

Автодополнение кода — это функция автодополнения во многих интегрированных средах разработки (IDE), которая ускоряет процесс кодирования приложений, исправляя распространенные ошибки и предлагая строки кода. Обычно это происходит с помощью всплывающих окон при наборе текста, запроса параметров функций и подсказок запросов, связанных с синтаксическими ошибками. Современное программное обеспечение для автодополнения кода обычно использует генеративные системы искусственного интеллекта для прогнозирования строк кода. Автодополнение кода и связанные с ним инструменты служат для документирования и устранения неоднозначности для имен переменных , функций и методов с использованием статического анализа . [4] [5]

Эта функция присутствует во многих средах программирования. [6] [7] Реализации включают IntelliSense в Visual Studio Code . Термин изначально был популярен как «список выбора», и некоторые реализации до сих пор называют его так. [8]

Рефакторинг

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

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

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

Отладка

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

Поиск кода

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

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

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

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

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

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

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

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

Выполнение

IDE могут быть реализованы на разных языках, например:

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

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

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

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

Ссылки

  1. ^ "Interaktives Programmieren als Systems-Schlager" из Computerwoche ( немецкий )
  2. ^ "TOP IDE Top Integrated Development Environment index". pypl.github.io . Получено 8 августа 2023 г. .
  3. ^ abc "Курс CS350 Интегрированные среды разработки". cs.odu.edu . Old Dominion University . Получено 10 октября 2018 г. .
  4. ^ Роббс, Ромен; Ланца, Мишель (2008). «Как история программы может улучшить завершение кода». 2008 23-я Международная конференция IEEE/ACM по автоматизированной программной инженерии . стр. 317–326. doi :10.1109/ASE.2008.42. ISBN 978-1-4244-2187-9. S2CID  2093640.
  5. ^ "Автозавершение кода, эпизод 1: сценарии и требования". Блог JetBrains . 28 мая 2021 г. Получено 17 ноября 2023 г.
  6. ^ FAQ - CodeBlocks. Wiki.codeblocks.org (2014-02-01). Получено 2014-04-04.
  7. ^ Документация Qt - Завершение кода. Получено 2015-07-07.
  8. ^ Использование Dynamic Apex для извлечения значений списка выбора | Блог Developer Force. Blogs.developerforce.com (2008-12-09). Получено 2014-04-04.
  9. ^ "Программное обеспечение и IDE". BBC Bitesize . Архивировано из оригинала 9 октября 2018 года . Получено 10 октября 2018 года .
  10. ^ "Eclipse Cookbook - Поиск кода". O'Reilly .
  11. ^ Стоули, Кэтрин Т.; Элбаум, Себастьян; Добос, Дэниел (2014). «Решение проблемы поиска исходного кода». Труды ACM по программной инженерии и методологии . 23 (3): 1–45. doi :10.1145/2581377. ISSN  1049-331X. S2CID  8558710.
  12. ^ "Введение - Flycheck 0.18-cvs". Прочтите документы . Архивировано из оригинала 10 марта 2014 г. Получено 10 марта 2014 г.
  13. ^ Рехман, Кристофер Пол, Кристофер Р. Пол. «Платформа разработки Linux: настройка, использование и поддержка полной среды программирования». 2002. ISBN 0-13-009115-4 
  14. ^ "UnixIsAnIde".
  15. ^ ""Использование Emacs с Microsoft Visual C++ ... использование Emacs в качестве IDE"". Архивировано из оригинала 4 июля 2013 г.
  16. ^ "Emacs: свободное программное обеспечение IDE | Linux Journal". www.linuxjournal.com .
  17. ^ "The Common Lisp Cookbook - Использование Emacs как Lisp IDE". cl-cookbook.sourceforge.net .
  18. ^ "Emacs как Perl IDE". obsidianrook.com . Архивировано из оригинала 21 мая 2016 . Получено 11 мая 2011 .
  19. ^ "Часто задаваемые вопросы разработчиков - PostgreSQL wiki". wiki.postgresql.org .
  20. ^ "Глава 18. Установка из исходного кода в Windows". Документация PostgreSQL . 29 сентября 2021 г.
  21. ^ «Веб-инструменты против настольных инструментов – EclipseSource». eclipsesource.com . 19 июня 2018 г.