Интегрированная среда разработки
Часть серии о |
Разработка программного обеспечения |
---|
Интегрированная среда разработки ( IDE ) — это программное приложение , предоставляющее комплексные возможности для разработки программного обеспечения . IDE обычно состоит как минимум из редактора исходного кода , инструментов автоматизации сборки и отладчика . Некоторые IDE, такие как IntelliJ IDEA , Eclipse и Lazarus, содержат необходимый компилятор , интерпретатор или и то, и другое; другие, такие как SharpDevelop и NetBeans , этого не делают.
Граница между IDE и другими частями более широкой среды разработки программного обеспечения четко не определена; иногда система контроля версий или различные инструменты для упрощения построения графического пользовательского интерфейса интегрируется (GUI). Многие современные IDE также имеют браузер классов , браузер объектов и диаграмму иерархии классов для использования при объектно-ориентированной разработке программного обеспечения .
Обзор [ править ]
Интегрированные среды разработки предназначены для максимизации производительности программистов за счет предоставления взаимосвязанных компонентов со схожими пользовательскими интерфейсами . IDE представляют собой единую программу, в которой выполняется вся разработка. Эта программа обычно предоставляет множество функций для создания, изменения, компиляции, развертывания и отладки программного обеспечения. Это контрастирует с разработкой программного обеспечения с использованием несвязанных инструментов, таких как vi , GDB , GNU Compiler Collection или make .
Одна из целей IDE — сократить конфигурацию, необходимую для объединения нескольких утилит разработки. Вместо этого он предоставляет тот же набор возможностей, что и единое целое. Сокращение времени настройки может повысить производительность разработчиков, особенно в тех случаях, когда обучение использованию IDE происходит быстрее, чем интеграция и изучение всех отдельных инструментов вручную. Более тесная интеграция всех задач разработки потенциально может повысить общую производительность, а не только помощь в выполнении задач по настройке. Например, код можно непрерывно анализировать во время его редактирования, обеспечивая мгновенную обратную связь при появлении синтаксических ошибок, что позволяет разработчикам гораздо быстрее и проще отлаживать код с помощью IDE.
Некоторые IDE предназначены для определенного языка программирования , что позволяет использовать набор функций, наиболее точно соответствующий парадигмам программирования языка. Однако существует множество многоязычных IDE.
Хотя большинство современных IDE являются графическими, текстовые IDE, такие как Turbo Pascal, широко использовались до появления оконных систем, таких как Microsoft Windows и X Window System (X11). Они обычно используют функциональные клавиши или горячие клавиши для выполнения часто используемых команд или макросов.
История [ править ]
Изначально использование 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 г. [update]IDE чаще всего искали в Search 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 позволяет пользователям создавать новые приложения путем перемещения программ, строительных блоков или узлов кода для создания блок-схем или структурных диаграмм, которые затем компилируются или интерпретируются. Эти блок-схемы часто основаны на унифицированном языке моделирования .
Этот интерфейс был популяризирован с помощью системы Lego Mindstorms и активно изучается рядом компаний, желающих извлечь выгоду из возможностей пользовательских браузеров, подобных тем, которые есть в Mozilla . KTechlab поддерживает потоковый код и является популярной 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, облачная онлайн-среда разработки, поддерживающая 88 языков. [1] Eclipse и Netbeans имеют плагины для C / C++ , Ada , GNAT (например, AdaGIDE ), Perl , Python , Ruby и PHP , которые выбираются автоматически в зависимости от расширения файла, среды или настроек проекта.
Реализация [ править ]
IDE могут быть реализованы на разных языках, например:
- GNU Emacs с использованием Emacs Lisp и C ;
- IntelliJ IDEA , Eclipse и NetBeans с использованием Java ;
- MonoDevelop с использованием C# .
платформах Отношения на разных компьютерных
Программисты Unix могут объединить командной строки инструменты POSIX в полноценную среду разработки, способную разрабатывать большие программы, такие как ядро Linux и его среда. [13] В этом смысле вся система Unix функционирует как IDE. [14] бесплатного программного обеспечения Набор инструментов GNU (включая GNU Compiler Collection (GCC), GNU Debugger (GDB) и GNU make ) доступен на многих платформах, включая Windows. [15] Распространенная философия Unix «все представляет собой текстовый поток» позволяет разработчикам, предпочитающим инструменты, ориентированные на командную строку , использовать редакторы с поддержкой многих стандартных инструментов сборки Unix и GNU, создавая IDE с помощью таких программ, как Эмакс [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.
Онлайн [ править ]
Интегрированная онлайн-среда разработки , также известная как веб-IDE или облачная IDE, представляет собой IDE на основе браузера , которая позволяет разрабатывать программное обеспечение или веб-разработку. [21] Доступ к онлайн-IDE можно получить из веб-браузера, что позволяет создать портативную рабочую среду. Онлайн-IDE обычно не содержит всех тех же функций, что и традиционная или настольная IDE, хотя все основные функции IDE, такие как подсветка синтаксиса, обычно присутствуют.
Интегрированная среда разработки для мобильных устройств (IDE) — это программное приложение, предоставляющее полный набор инструментов для разработки программного обеспечения на мобильных платформах. В отличие от традиционных IDE для настольных компьютеров, IDE для мобильных устройств предназначены для работы на смартфонах и планшетах, что позволяет разработчикам писать, отлаживать и развертывать код непосредственно со своих мобильных устройств.
См. также [ править ]
- Сравнение интегрированных сред разработки
- Среда совместной разработки (CDE)
- Компьютерная разработка программного обеспечения (CASE)
- Интегрированная среда разработки игр
- Программный движок
- Многодокументный интерфейс § Интерфейс в стиле IDE (MDI)
- Быстрая разработка приложений (RAD)
- Цикл чтения-оценки-печати (REPL)
- Интерфейс ноутбука
- анализа кода Инструменты
- Инструменты рефакторинга исходного кода
- Инструменты сборки программного обеспечения ( компилятор , компоновщик и т. д., а также инструмент автоматизации сборки, используемый для управления ими)
- Контроль версий , также называемый исходным репозиторием (управление конфигурацией)
- Протокол языкового сервера
- Средство структурированного программирования
- Переносная среда приложений
Ссылки [ править ]
- ^ «Интерактивное программирование как системный хит» от Computerwoche ( нем .)
- ^ «TOP IDE — лучший индекс интегрированной среды разработки» . pypl.github.io . Проверено 8 августа 2023 г.
- ^ Jump up to: Перейти обратно: а б с «Курс CS350 «Интегрированные среды разработки» . cs.odu.edu . Университет Олд Доминион . Проверено 10 октября 2018 г.
- ^ Роббс, Ромен; Ланца, Мишель (2008). «Как история программы может улучшить завершение кода». 2008 г. 23-я Международная конференция IEEE/ACM по автоматизированной разработке программного обеспечения . стр. 317–326. дои : 10.1109/ASE.2008.42 . ISBN 978-1-4244-2187-9 . S2CID 2093640 .
- ^ «Завершение кода, эпизод 1: сценарии и требования» . Блог JetBrains . 28 мая 2021 г. Проверено 17 ноября 2023 г.
- ^ Часто задаваемые вопросы — CodeBlocks . Wiki.codeblocks.org (01 февраля 2014 г.). Проверено 4 апреля 2014 г.
- ^ Документация Qt — Завершение кода . Проверено 7 июля 2015 г.
- ^ Использование Dynamic Apex для получения значений раскрывающегося списка | Блог разработчиков Force . Blogs.developerforce.com (09 декабря 2008 г.). Проверено 4 апреля 2014 г.
- ^ «Программирование программного обеспечения и IDE» . BBC Bitesize . Проверено 10 октября 2018 г.
- ^ «Поваренная книга Eclipse — поиск кода» . О'Рейли .
- ^ Столи, Кэтрин Т.; Эльбаум, Себастьян; Добос, Дэниел (2014). «Решение поиска исходного кода» . Транзакции ACM по программной инженерии и методологии . 23 (3): 1–45. дои : 10.1145/2581377 . ISSN 1049-331X . S2CID 8558710 .
- ^ «Введение — Flycheck 0.18-cvs» . Прочтите Документы . Архивировано из оригинала 10 марта 2014 года . Проверено 10 марта 2014 г.
- ^ Рехман, Кристофер Пол, Кристофер Р. Пол.«Платформа разработки Linux: настройка, использование и поддержка полной среды программирования».2002. ISBN 0-13-009115-4
- ^ «Униксисаниде» .
- ^ " "Используйте Emacs с Microsoft Visual C++... используйте Emacs в качестве IDE" " . Архивировано из оригинала 4 июля 2013 года.
- ^ «Emacs: среда разработки свободного программного обеспечения | Linux Journal» . www.linuxjournal.com .
- ^ «Кулинарная книга Common Lisp — использование Emacs в качестве IDE для Lisp» . cl-cookbook.sourceforge.net .
- ^ «Emacs как Perl IDE» . obsidianrook.com .
- ^ «Часто задаваемые вопросы для разработчиков — PostgreSQL wiki» . wiki.postgresql.org .
- ^ «Глава 18. Установка из исходного кода в Windows» . Документация PostgreSQL . 29 сентября 2021 г.
- ^ «Инструменты для веб-интерфейса и настольного компьютера – EclipseSource» . eclipsesource.com . 19 июня 2018 г.