Файл: ИНТЕГРИРОВАННЫЕ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ (текстовый редактор, компилятор, компоновщик, отладчик, подсистему исполнения в одной оболочке).pdf
Добавлен: 01.04.2023
Просмотров: 53
Скачиваний: 2
Введение.
Создание интегрированных сред разработки стало возможным благодаря бурному развитию персональных компьютеров и появлению развитых средств интерфейса пользователя (сначала текстовых, а потом и графических). Их появление на рынке определило дальнейшие развитие такого рода технических средств. Развитие интегрированных сред несколько снизило требования к профессиональным навыкам разработчиков исходных программ. Теперь в простейшем случае от разработчика требовалось только знание исходного языка (его синтаксиса и семантики). При создании прикладной программы ее разработчик мог в простейшем случае даже не разбираться в архитектуре целевой вычислительной системы.
Дальнейшее развитие средств разработки также тесно связано с повсеместным распространением развитых средств графического интерфейса пользователя. Такой интерфейс стал неотъемлемой составной частью многих современных ОС и так называемых графических оболочек. Со временем он стал стандартом де-факто практически во всех современных прикладных программах.
В области средств разработки программ структурный подход был удачно дополнен созданием интегрированных сред, которые объединяли все составляющие процесса кодирования: текстовый редактор, компилятор, компоновщик, отладчик, подсистему исполнения в одной оболочке. Это позволило максимально ускорить и упростить процесс кодирования, уделить больше внимания и времени содержательным аспектам программирования: структуре программы и алгоритма.
1.История.
Первые IDE были созданы для работы через консоль или терминал. Ранние системы не могли поддерживать того, что программы были подготовлены, ис-пользуя блоксхемы, вводя текст с перфорированных карт (или перфолента, и т.д.) прежде, чем представить их компилятору. Dartmouth BASIC был первым языком, который был создан с IDE (и был также первым, который был разработан для использования в консоли или терминале). Эта IDE (часть Dartmouth Time Sharing System) была командная (т.е. управлялась при помощи команд), и поэтому очень отличалась от управляемых с помощью меню, графических IDE, распространенных сегодня. Однако это позволило редактировать, управлять файлами, компилировать, отлаживать и выполнять способом, непротиворечивым современным IDE.
Maestro Iпродукт от Softlab Munich и был первой в мире интегрированной средой разработки для программного обеспечения в 1975 г.[2] Maestro I был установлен для 22,000 программистов во всем мире. До 1989 6,000 установок существовали в Федеративной Республике Германия. Maestro I был возможно мировым лидером в этом поле в течение 1970-х и 1980-х. На сегодняшний день Maestro I может быть найден разве что в Музее Информационной технологии в Арлингтоне.
Одной из первых IDE с возможностью подключения плагинов была Softbench. В 1995 Computerwoche прокомментировал, что использование IDE не было хорошо воспринято разработчиками, обосновывая это тем, что они будут ограничивать их в творческом потенциале.
2.Среды разработки.
Интегрированная среда разработки (ИСР) – это система программных средств, используемая программистам для разработки программного обеспечения. В английском языке такая среда называетсяIntegrated development environment или сокращённо IDE.
Если IDE включает в себя возможность визуального редактирования интерфейса программы, она называется средой визуальной разработки.
IDE обычно включает в себя:
● Текстовый редактор;
● Компилятор;
● Интерпретатор;
● Средства автоматизации разработки и сборки ПО и отладчик;
● Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя.
Компилятор — это такая программа, которая считывает исходные коды, написанные программистом и преобразует эти коды в программу.
Интерпретатор — это программа которая считывает команды, находящиеся в исходных кодах, сразу выполняя их.
Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволит разработчику делать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако, так как IDE является сложным программным комплексом, то лишь после долгого процесса обучения среда разработки сможет качественно ускорить процесс разработки ПО. IDE обычно представляет из себя единственную программу, в которой проводилась вся разработка. Она обычно содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель среды разработки заключается в том, чтобы абстрагировать конфигурацию, необходимую, чтобы объединить утилиты командной строки в одном модуле, который позволит уменьшить время, чтобы изучить язык, и повысить производительность разработчика. Также считается, что трудная интеграция задач разработки может далее повысить производительность. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках.
IDE позволяют избежать большого объема однообразных действий и тем самым существенно повысить эффективность процесса разработки и отладки позволяют, то есть они являются RAD-средами различной степени автоматизации процесса программирования.
IDE также часто поддерживают пометки в комментариях в исходном тексте программ, отмечающие места, требующие дальнейшего внимания или предполагающие внесение изменений, такие как TODO. В дальнейшем эти пометки могут выделяться редактор или использоваться для организации совместной работы с построением тегов и задач. Использование комментариев с TODO так же является стандартом оформления кода на Object Pascal, Delphi.
Работа в интегрированной среде дает программисту:
• Возможность использования встроенного много файлового текстового редактора, специально ориентированного на работу с исходными текстами программ.
•Диагностика выявленных при компиляции ошибок, и исходный текст программы, доступный редактированию, выводятся одновременно в многооконном режиме.
•Возможность организации и ведения параллельной работы над несколькими проектами. Менеджер проектов позволяет использовать любой проект в качестве шаблона для вновь создаваемого проекта. Опции используемых компиляторов и список исходных файлов проекта, устанавливаются в диалоговых меню и сохраняются в рамках проекта, устраняя необходимость работы с неудобными batch-файлами.
•Перекомпиляции подвергаются только редактировавшийся модули.
•Возможность загрузки отлаживаемой программы в имеющиеся средства отладки, и работы с ними без выхода из оболочки.
• Возможность подключения к оболочке практически любых программных средств.
3.Редактор исходного кода.
Текстовый редактор для создания и редактирования исходного кода программ. Он может быть отдельным приложением, или встроен в интегрированную среду разработки (IDE).
Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования ис-ходного кода, если они не не имеют расширенных возможностей, автоматизи-
рующих или упрощающих ввод и модификацию кода, то они не могут называться редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
4.TODO.
Интегрированные среды разработки также часто поддерживают пометки в комментариях в исходном тексте программ, отмечающий места, требующие дальнейшего внимания или предполагающие внесение изменений, такие как TODO[3][4]. В дальнейшем эти пометки могут выделяться редакторами (напр. vim[5], emacs[6], встроенный редактор Visual Studio[7]) или использоваться для организации совместной работы с построением тегов и задач (например, в IntelliJ[8]). В руководстве по оформлению исходных текстов Android приводится следующий формат записи[значимость факта?]:
// TODO: однострочное_описание
Там же указывается, что в случае использования @SupressWarring обязательно указание TODO с объяснением причин подавления предупреждения[9].
Использование комментариев с TODO так же является стандартом оформления кода на Object Pascal, Delphi[10][значимость факта?].
Microsoft в руководстве по Visual Studio рекомендует использовать тег TODO (наравне с HACK, UNDONE) для следующих пометок:
- добавление новых функций
- известных проблем, которые нужно устранить
- предполагаемых к реализации классов
- мест размещения кода обработчиков ошибок
- напоминаний о необходимости переработки участка кода.
5. Возможности ИСР популярных версий.
5.1 Eclipse (от англ. затмение) – свободная интегрированная среда разработки модульных кроссплатформенных приложений (рисунок 69). Развивается и поддерживается некоммерческой организацией Eclipse Foundation (http://www.eclipse.org/).
Первоначально Eclipse разрабатывалась фирмой «IBM» в качестве корпоративного стандарта ИСР для разработки на разных языках под платформы от данной компании. По сведениям «IBM», проектирование и разработка стоили 40 млн. долл. Исходный код был полностью открыт и сделан доступным после того, как Eclipse был передан для дальнейшего развития независимому от «IBM» сообществу.
В основе Эклипс лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой – RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Эклипс, но и для других RCP-приложений, например, Azureus и File Arranger. Следующий слой – сам Эклипс, представляющий собой набор расширений RCP: редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).
Эклипс – в первую очередь, полноценная Java ИСР, нацеленная на групповую разработку: поддержка CVS входит в поставку Эклипс, активно развиваются несколько вариантов SVN-модулей, существует поддержка VSS и других. В силу бесплатности и высокого качества, Эклипс во многих организациях является корпоративным стандартом для разработки приложений.
Второе назначение Эклипс – служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Эклипс своими модулями. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с «IBM», и средства для языков COBOL, FORTRAN, PHP и прочие от различных разработчиков. Множество расширений дополняет среду Эклипс менеджерами для работы с базами данных, серверами приложений и др.
5.2 Другой популярной свободной ИСР является КДевелоп (англ. KDevelop) - свободная среда разработки программного обеспечения для UNIX-подобных операционных систем. Проект стартовал в 1998 году. КДевелоп распространяется согласно лицензии GNU (General Public License).
KDevelop не включает в свой состав компилятор; вместо этого он использует GNU Compiler Collection (или любой другой компилятор) для создания машинного кода.
Текущая стабильная версия поддерживает большое количество языков программирования, таких как Ада, Bash, C, C++, Фортран, Java, Pascal, Perl, PHP, Python, Ruby и SQL.
КДевелоп использует встроенный компонент – текстовый редактор – через технологию KParts. Основным редактором является Kate.
Функции КДевелоп:
- подсветка исходного кода с учетом синтаксиса используемого языка программирования, который определяется автоматически;
- менеджер проектов для проектов разного типа, таких как Automake, qmake для проектов базирующихся на технологиях Qt и Ant для проектов, базирующихся на Java;
- навигатор классов (Class Browser);
- Front-end для GNU Compiler Collection;
- Front-end для GNU Debugger;
- помощников для генерации и обновления определения классов и платформы (framework);
- автоматическая система завершения кода (Си/C++);
- встроенная поддержка системы документирования исходных кодов (Doxygen);
- одна из систем контроля версий: SCM, CVS, Subversion, Perforce и ClearCase;
- функция Quick Open позволяющая быстро перемещаться по файлам.
KDevelop представляет собой «подключаемую» архитектуру. Когда разработчик делает изменения, он должен лишь скомпилировать плагин. Предусмотрена возможность сохранения профилей, указывающих какие плагины должны быть загружены. KDevelop не поставляется со встроенным текстовым редактором, он подключается как плагин. KDevelop не зависит от языка программирования и от платформы, на которой он запускается, поддерживая KDE, GNOME и много других технологий (например, Qt, GTK+ и wxWidgets).
Встроенный отладчик KDevelop позволяет работать графически со всеми средствами отладки, такими как точки останова и трассировки. Он также может работать с динамически подгружаемыми плагинами, в отличие от консольного gdb.
На данный момент существует примерно от 50 до 100 плагинов для данной IDE. Среди наиболее полезных – persistent project-wide code bookmarks, Code abbreviations, позволяющие быстро разворачивать текст, Source formatter, который переформатирует текст для style guide до сохранения, поиск по регулярным выражениям и project-wide поиск/замена.
5.3 Microsoft Visual Studio является линейкой продуктов компании «Майкрософт», включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Microsoft Visual Studio включает один или несколько компонентов из следующих: Visual Basic.NET, Visual C++, Visual C#, Visual F#, Microsoft SQL Server, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, Visual Source Safe.