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 Time Sharing System ) была основана на командах и поэтому мало походила на управляемые меню графические IDE, популярные после появления графического пользовательского интерфейса . Однако он интегрировал редактирование, управление файлами, компиляцию, отладку и выполнение в соответствии с современной IDE.

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

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

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

Темы

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

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

Завершение кода

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

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

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

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

Рефакторинг

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

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

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

Отладка

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

Поиск кода

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

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

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

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

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

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

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

Поддержка альтернативных языков часто обеспечивается плагинами , позволяющими одновременно устанавливать их в одну и ту же IDE. Например, Flycheck — это современное расширение проверки синтаксиса «на лету» для GNU Emacs 24 с поддержкой 39 языков. [12] Другой пример — JDoodle, облачная онлайн-среда разработки, поддерживающая более 76 языков.[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] или Вим . Отладчик отображения данных предназначен для использования в качестве расширенного графического интерфейса для многих стандартных инструментов текстового отладчика . Некоторые программисты предпочитают управление 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 — это проприетарная многоязычная среда разработки, поддерживаемая в macOS.

В сети

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

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

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

Рекомендации

  1. ^ "Interaktives Programmieren als Systems-Schlager" из Computerwoche ( немецкий язык )
  2. ^ "Индекс лучшей интегрированной среды разработки TOP IDE" . pypl.github.io . Проверено 8 августа 2023 г.
  3. ^ abc «Курс CS350 «Интегрированные среды разработки». cs.odu.edu . Университет Олд Доминион . Проверено 10 октября 2018 г.
  4. ^ Роббес, Ромен; Ланца, Мишель (2008). «Как история программы может улучшить завершение кода». 2008 г. 23-я Международная конференция IEEE/ACM по автоматизированной разработке программного обеспечения . стр. 317–326. дои :10.1109/ASE.2008.42. ISBN 978-1-4244-2187-9. S2CID  2093640.
  5. ^ «Завершение кода, Эпизод 1: Сценарии и требования» . Блог JetBrains . 28 мая 2021 г. Проверено 17 ноября 2023 г.
  6. ^ Часто задаваемые вопросы — CodeBlocks. Wiki.codeblocks.org (01 февраля 2014 г.). Проверено 4 апреля 2014 г.
  7. ^ Документация Qt — Завершение кода. Проверено 7 июля 2015 г.
  8. ^ Использование Dynamic Apex для получения значений раскрывающегося списка | Блог разработчиков Force. Blogs.developerforce.com (09 декабря 2008 г.). Проверено 4 апреля 2014 г.
  9. ^ «Программное обеспечение и IDE» . BBC Bitesize . Проверено 10 октября 2018 г.
  10. ^ «Поваренная книга Eclipse — поиск кода» . О'Рейли .
  11. ^ Столи, Кэтрин Т.; Эльбаум, Себастьян; Добос, Дэниел (2014). «Решение поиска исходного кода». Транзакции ACM по программной инженерии и методологии . 23 (3): 1–45. дои : 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: среда разработки свободного программного обеспечения | Linux Journal». www.linuxjournal.com .
  17. ^ «Поваренная книга Common Lisp — использование Emacs в качестве IDE для Lisp» . cl-cookbook.sourceforge.net .
  18. ^ «Emacs как Perl IDE». obsidianrook.com .
  19. ^ «Часто задаваемые вопросы для разработчиков — вики PostgreSQL» . wiki.postgresql.org .
  20. ^ «Глава 18. Установка из исходного кода в Windows». Документация PostgreSQL . 29 сентября 2021 г.
  21. ^ «Интернет-инструменты по сравнению с настольными инструментами - EclipseSource» . eclipsesource.com . 19 июня 2018 г.