Windows как интегрированная программная среда

Windows как интегрированная программная среда

Программные среды разработки и исполнения программ

Программная среда разработки пользовательской программы

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

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

Оперативная память — служит для хранения кода программы и ее данных. Представляет собой последовательность перенумерованных элементов (слов, байтов, битов), номер — адрес элемента. Оперативная память выделяется программе и ее данным только на время исполнения программы.

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

Внешние устройства (клавиатура, дисплей, принтер и др.) — служат для взаимодействия компьютера с пользователем и другими устройствами.

Управлением всех устройств компьютера занимается операционная система (например, DOS, Windows и т.п.). Как и всякая программная система, она состоит из набора компонент (программ и данных). Основное отличие операционной системы от других программных систем — исполнение ее программ инициируется сигналами (прерываниями), поступающими от устройств компьютера. В свою очередь, программы операционной системы вырабатывают сигналы, заставляющие эти устройства выполнять «пользовательские» программы в соответствии с определенными правилами, определяемыми в данной операционной системе.

В целом аппаратные устройства и операционные средства создают ту операционную среду, в которой работают системные и пользовательские программы.

Одной из программных сред, специально ориентированных на разработку пользовательских программ, является программная среда, создаваемая системой программирования Турбо Паскаль.

Она является достаточно удобным средством разработки программ в силу нескольких факторов:

-язык Турбо Паскаль впитал в себя многие понятия и средства, лежащие в основе основных стилей разработки (модульный, структурный, надежный, объектно-ориентированный);
— интегрированная среда программирования Турбо Паскаль создает программное окружение, достаточно эффективно поддерживающее различные стили разработки.

Среда программирования Турбо Паскаль называется интегрированной (имеет интегрированную инструментальную оболочку), так как состоит из нескольких компонентов, взаимосвязанных общностью представления информации, взаимно дополняющими видами обработки информации и единым пользовательским интерфейсом. Находясь внутри этой среды, можно использовать ее компоненты — набирать и редактировать программы, компилировать их, компоновать, отлаживать и исполнять.
Основные компоненты системы: экранный текстовый редактор, компилятор, компоновщик, отладчик, справочная подсистема.

Благодаря естественному и не требующему большого количества манипуляций переходу от одного вида обработки к другому, рассматриваемую систему программирования называют Турбо-системой.

Все этапы создания программ в интегрированной среде можно выполнить с помощью системы меню, имеющей довольно сложную древовидную структуру. Основное (главное) меню всегда содержится в верхней строке экрана. Оно состоит из следующих полей (подменю):

File (работа с файлами),
Edit (редактирование),
Search (поиск),
Run (выполнение),
Compile (компиляция),
Debug (отладка),
Options (параметры),
Windows (окна),
Help (помощь).

При выборе любого из этих полей в поле экрана появляется соответствующее ниспадающее меню. Наиболее используемым из них является меню File (работа с файлами).
С его помощью можно выполнять основные работы с файлами: вызывать имеющиеся файлы (Open), создавать новые (New), записывать на диск (Save), переименовывать редактируемый файл и записывать его на диск под новым именем (Save as), распечатывать редактируемый файл на принтере (Print), изменять текущий каталог, в котором производится поиск и запись файлов (Change dir), прекращать работу в интегрированной среде и выходить в операционную систему (Exit).

Компонентом интегрированной среды Турбо Паскаль, с которым непосредственно взаимодействует пользователь, является экранный текстовый редактор. Он обладает многими возможностями по созданию и корректировке текстов Паскаль-программ. Он позволяет работать сразу с несколькими Паскаль-программами, размещенными в разных окнах редактирования, перемещаться между ними, переносить между ними информацию. При этом (как и при редактировании в каждом отдельном окне) нужно использовать буфер Clipboard.

Компилятор интегрированной среды Турбо Паскаль является основным ее компонентом. Компиляция — процесс преобразования (перевода, трансляции) текста, написанного на языке программирования, к виду, доступному для понимания вычислительной машиной (код программы). При компиляции к собственно коду программы добавляются коды подпрограмм используемых модулей.

Компилятор выполняет процесс трансляции программы в соответствии с заложенной в него информацией о языке программирования. Однако, создание программы не ограничивается использованием только собственно средств языка программирования.

Среда программирования расширяет возможности языка программирования, добавляя средства, работу с которыми она поддерживает. К ним относятся модули (в том числе системные, т.е. предоставляемые системой программирования), а также директивы (параметры) компилятора.

Таким образом средства программирования, т.е. средства написания программ, в среде Турбо Паскаль складываются из:

1. средств языка программирования Турбо Паскаль,
2. программных объектов используемых модулей,
3. средств управления процессом компиляции и исполнения программ — директив (параметров) компилятора.

Отметим несколько важных опций (режимов, параметров), которые обязательно нужно учитывать при создании и исполнении программ в среде Турбо Паскаль.
В меню Compile задание опции Compile вызывает компиляцию файла, находящегося в активном окне. При обнаружении синтаксической ошибки выдается сообщение о ней, а курсор указывает ее место в тексте; в противном случае компилятор выдает сообщение об успешной компиляции. Результатом успешной компиляции является машинное представление программы, готовой к исполнению. Если ведется активная работа по созданию, редактированию и тестированию программы, то для ускорения процесса компиляции лучше оставить готовую программу в оперативной памяти для непосредственного исполнения. Для этого нужно задать значение Memory для опции Destination меню Compile.

По завершении тестирования программы лучше сохранить ее в откомпилированном виде (в виде объектного файла с расширением .ехе) с тем, чтобы ее можно было запускать на исполнение отдельно от интегрированной среды. Для этого нужно задать значение Disk для опции Destination меню Compile.

Если компилируется не программа, а пользовательский модуль, то для опции Destination меню Compile задается всегда значение Disk. Откомпилированный модуль записывается в файл с расширением .tpu. Задать директорию (папку), в которой будет размещен этот файл, можно в параметре Directories меню Options.

Читайте также:  Windows 10 pro defender или no defender

Программная среда исполнения пользовательской программы

Понятие «программная среда исполнения» является важным современным понятием. Его можно определить, как совокупность объектов, доступных программе при ее исполнении.
Программный объект — носитель информации, который определяется некоторой совокупностью атрибутов (характеристик), один из которых — имя объекта. Программными объектами языка Турбо Паскаль являются константы, типы, переменные, функции, процедуры.

Программа при исполнении, может быть погружена в такую программную среду, в которой уже частично описаны объекты, необходимые этой программе. Возможность их использования существенно сокращает сложность программы, время ее создания, повышает ее надежность и экономичность.

Поскольку описать объекты, необходимые для всех программ, невозможно, то системой программирования обычно определяется некоторый набор наиболее часто используемых объектов. Эти объекты объединяются в несколько так называемых «системных» (стандартных, библиотечных) модулей, каждый из которых имеет некоторое целевое назначение.

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

Средства описания и механизм выборки (подключения) объектов модулей определяются программной средой и являются мощным и необходимым инструментарием поддержки исполнения программ.

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

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

Модуль System обеспечивает поддержку ввода-вывода, обработку строк, операций над числами с плавающей точкой и управление динамической памятью.

Модули Dos и Windows поддерживают большинство наиболее часто используемых функций операционной системы и функций обработки файлов.

Модуль Crt содержит подпрограммы управления экранным (текстовым) режимом, позволяющие работать с клавиатурой и экраном, используя цвет, звук и окна.

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

В состав системы Турбо Паскаль входят также модули, поддерживающие другие, более специализированные виды работ.

ЦП Автоматизированные системы управления и промышленная безопасность

БК Автоматизированные системы управления и кибернетика

31. Интегрированные среды разработки

Интегрированная среда разработки (ИСР) – это система программных средств, используемая программистам для разработки программного обеспечения. В английском языке такая среда называется Integrated development environment или сокращённо IDE.

ИСР обычно включает в себя текстовый редактор, компилятор, интерпретатор, средства автоматизации разработки и сборки программного обеспечения и отладчик. Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают окно просмотра программных классов, инспектор объектов и диаграмму иерархии классов – для использования при объектно-ориентированной разработке ПО. Большинство современных ИСР предназначенны для разработки программ на нескольких языках программирования одновременно.

Один из частных случаев ИСР – среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.

Основным окном, является текстовый редактор, который используется для ввода исходного кода в ИСР и ориентирован на работу с последовательностью символов в текстовых файлах. Такие редакторы обеспечивают расширенную функциональность – подсветку синтаксиса, сортировку строк, шаблоны, конвертацию кодировок, показ кодов символов и т. п. Иногда их называют редакторами кода, так как основное их предназначение – написание исходных кодов компьютерных программ.

Подсветка синтаксиса – выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется в текстовых редакторах для облегчения чтения исходного текста, улучшения визуального восприятия. Часто применяется при публикации исходных кодов в Интернет.

Понятие трансляции, компилятора и интерпретатора было дано в предыдущих лекциях.

Одна из наиболее важных частей ИСР – отладчик, который представляет собой модуль среды разработки или отдельное приложение, предназначенное для поиска ошибок в программе. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т. д.

Наиболее распространёнными отладчиками являются:

— GNU Debugger – отладчик программ от проекта GNU;

— IDA – дизассемблер и низкоуровневый отладчик для операционных систем семейства Windows и GNU/Linux;

— Microsoft Visual Studio – среда разработки программного обеспечения, включающая средства отладки от корпорации Microsoft;

— OllyDbg – бесплатный низкоуровневый отладчик для операционных систем семейства Windows;

— SoftICE – низкоуровневый отладчик для операционных систем семейства Windows;

— Dr. Watson – стандартный отладчик Windows, позволяет создавать дампы памяти;

— WinDbg – бесплатный отладчик от корпорации Microsoft.

Основным процессом отладки является трассировка. Трассировка – это процесс пошагового выполнения программы. В режиме трассировки программист видит последовательность выполнения команд и значения переменных на данном шаге выполнения программы, что позволяет легче обнаруживать ошибки. Трассировка может быть начата и окончена в любом месте программы, выполнение программы может останавливаться на каждой команде или на точках останова, трассировка может выполнятся с заходом в процедуры/функции и без заходов.

Наиболее важным модулем ИСР при совместной разработке проектов средней и высокой степени сложности является система управления версиями. Система управления версиями (английская аббревиатура CVS) — программное обеспечение для облегчения работы с изменяющейся информацией. Она позволяет хранить несколько версий одного и того же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое.

Такие системы наиболее широко применяются при разработке программного обеспечения, для хранения исходных кодов разрабатываемой программы. Однако они могут с успехом применяться и в других областях, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов, в частности, они всё чаще применяются в САПР, обычно в составе систем управления данными об изделии. Управление версиями используется в инструментах конфигурационного управления различных устройств и систем.

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

Читайте также:  Команда монтирования флешки linux

Большинство систем управления версиями используют централизованную модель, когда имеется единое хранилище документов, управляемое специальным сервером, который и выполняет большую часть функций по управлению версиями. Пользователь, работающий с документами, должен сначала получить нужную ему версию документа из хранилища; обычно создаётся локальная копия документа, так называемая «рабочая копия». Может быть получена последняя версия или любая из предыдущих, выбранная по номеру версии или дате создания, иногда и по другим признакам. После того, как в документ внесены нужные изменения, новая версия помещается в хранилище. В отличие от простого сохранения файла, предыдущая версия не стирается, а тоже остаётся в хранилище и может быть получена оттуда в любое время. Сервер может использовать дельта-компрессию – способ хранения документов, при котором сохраняются только изменения между последовательными версиями, что позволяет уменьшить объём хранимых данных.

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

Часто бывает, что над одним проектом одновременно работают несколько человек. Если два человека изменяют один и тот же файл, то один из них может случайно отменить изменения, сделанные другим. Системы управления версиями отслеживают такие конфликты и предлагают средства их решения. Большинство систем может автоматически объединить (слить) изменения, сделанные разными разработчиками. Однако такое автоматическое объединение изменений, возможно обычно только для текстовых файлов и то, только при условии, что изменялись разные (непересекающиеся) части этого файла. Такое ограничение связано с тем, что большинство систем управления версиями ориентированы на поддержку процесса разработки программного обеспечения, а исходные коды программ хранятся в текстовых файлах. Если автоматическое объединение выполнить не удалось, система может предложить решить проблему вручную.

Часто выполнить слияние невозможно ни в автоматическом, ни в ручном режиме, например, в случае, если формат файла слишком сложен или вообще неизвестен. Некоторые системы управления версиями дают возможность заблокировать файл в хранилище. Блокировка не позволяет другим пользователям получить рабочую копию или препятствует изменению рабочей копии файла (например, средствами файловой системы) и обеспечивает таким образом исключительный доступ только тому пользователю, который работает с документом.

Другие возможности системы управления версиями состоят:

— в создании разных вариантов одного документа-ветки, с общей историей изменений до точки ветвления и с разными – после неё.

— возможности узнать, кто и когда добавил или изменил конкретный набор строк в файле;

— ведении журнала изменений, куда пользователи могут записывать пояснения о том, что и почему они изменили в данной версии;

— контролирует права доступа пользователей, разрешении или запрете чтения или изменения данных в зависимости от того, кто запрашивает это действие.

Отдельным классом являются распределённые системы управления версиями. Такие системы используют распределённую модель вместо традиционной клиент-серверной. Они, в общем случае, не нуждаются в централизованном хранилище: вся история изменения документов хранится на каждом компьютере, в локальном хранилище, и при необходимости отдельные фрагменты истории локального хранилища синхронизируются с аналогичным хранилищем на другом компьютере. В некоторых таких системах локальное хранилище располагается непосредственно в каталогах рабочей копии.

Когда пользователь такой системы выполняет обычные действия, такие, как извлечение определённой версии документа, создание новой версии и тому подобное, он работает со своей локальной копией хранилища. По мере внесения изменений хранилища, принадлежащие разным разработчикам, начинают различаться, и возникает необходимость в их синхронизации. Такая синхронизация может осуществляться с помощью обмена патчами или так называемыми наборами изменений (англ. change sets) между пользователями.

Основное преимущество распределённых систем заключается в их гибкости. Каждый разработчик может вести работу независимо, так, как ему удобно, сохраняя промежуточные варианты документов и передавая результаты другим участникам, когда посчитает нужным. При этом обмен наборами изменений может осуществляться по различным схемам. В небольших коллективах участники работы могут обмениваться изменениями по принципу «каждый с каждым», за счет чего отпадает необходимость в создании выделенного сервера. Крупное сообщество, наоборот, может использовать централизованный сервер, с которым синхронизируются копии всех его участников. Возможны и более сложные варианты, например, с созданием групп для работы по отдельным направлениям внутри более крупного проекта.

Для использования систем управления версиями необходимо владеть терминологией этих систем. Общепринятой терминологии не существует, в разных системах могут использоваться различные названия для одних и тех же действий.

Ниже приведены некоторые, наиболее часто используемые варианты. В связи с тем, что системы разрабатывались англоязычным сообществом, а русскоязычная терминология ещё на выработана, используются английские термины.

branch (ветвь) – направление разработки, независимое от других. Ветвь представляет собой копию части (как правило, одного каталога) хранилища, в которую можно вносить свои изменения, не влияющие на другие ветви. Документы в разных ветвях имеют одинаковую историю до точки ветвления и разные – после неё.

check-in, commit, submit – создание новой версии, публикация изменений. Распространение изменений, сделанных в рабочей копии, на хранилище документов. При этом в хранилище создаётся новая версия изменённых документов.

C heck-out, clone – извлечение документа из хранилища и создание рабочей копии.

C onflict – конфликтная ситуация, когда несколько пользователей сделали изменения одного и того же участка документа. Конфликт обнаруживается в случае, когда один пользователь уже опубликовал свои изменения, а второй только пытается их опубликовать и система сама не может корректно слить конфликтующие изменения. Поскольку программа может быть недостаточно разумна для того, чтобы определить, какое изменение является «корректным», второму пользователю нужно самому разрешить конфликт (resolve).

M erge, integration (слияние) — объединение независимых изменений в единую версию документа. Осуществляется, когда два человека изменили один и тот же файл или при переносе изменений из одной ветки в другую.

R epository (хранилище документов) — место, где система управления версиями хранит все документы вместе с историей их изменения и другой служебной информацией.

R evision (версия документа). Системы управления версиями различают версии по номерам, которые назначаются автоматически.

T ag, label (метка) – которую можно присвоить определённой версии документа. Метка представляет собой символическое имя для группы документов, причём описывает она не только набор имён файлов, но и ревизию каждого файла. Ревизии включённых в метку документов могут принадлежать разным моментам времени.

Читайте также:  Windows gtk download all

T runk, mainline (ствол) – основная ветвь разработки проекта. Политика работы со стволом может отличаться от проекта к проекту, но в целом она такова: большинство изменений вносится в ствол; если требуется серьёзное изменение, способное привести к нестабильности, создаётся ветвь, которая сливается со стволом, когда нововведение будет в достаточной мере испытано; перед выпуском очередной версии создаётся «релизная» ветвь, в которую вносятся только исправления.

U pdate, sync (обновление, синхронизация) – синхронизация рабочей копии до некоторого заданного состояния хранилища. Чаще всего это действие означает обновление рабочей копии до самого свежего состояния хранилища. Однако при необходимости можно синхронизировать рабочую копию и к более старому состоянию, чем текущее.

W orking copy (рабочая копия) – рабочая (локальная) копия документов.

Рассмотрим возможности ИСР на примере наиболее доступных и популярных версий.

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 и прочие от различных разработчиков. Множество расширений дополняет среду Эклипс менеджерами для работы с базами данных, серверами приложений и др.

Рисунок 69 . Интерфейс главного окна Эклипс

Эклипс написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ. Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.

Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform). Её компоненты:

— ядро платформы (загрузка Eclipse, запуск модулей);

— OSGi (стандартная среда поставки комплектов (англ. bundles));

— SWT (портируемый инструментарий виджетов);

— JFace (файловые буферы, работа с текстом, текстовые редакторы);

— рабочая среда Эклипс (панели, редакторы, проекции, мастеры).

Другой популярной свободной ИСР является КДевелоп (http://www.kdevelop.org, рис. 70). КДевелоп (англ. KDevelop) — свободная среда разработки программного обеспечения для UNIX-подобных операционных систем. Проект стартовал в 1998 году. КДевелоп распространяется согласно лицензии GNU (General Public License).

Рисунок 70. Интерфейс KDevelop

KDevelop не включает в свой состав компилятор, вместо этого он использует любой компилятор для создания исполняемого кода.

Текущая стабильная версия поддерживает большое количество языков программирования, таких как Ада, 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 поиск/замена.

Последней рассматриваемой ИСР является Microsoft Visual Studio (Microsoft Visual Studio, рис. 71). По сути, Microsoft Visual Studio является линейкой продуктов компании «Майкрософт», включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.

Рисунок 71. Интерфейс 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.

Одним из главных преимуществ Майкрософт Визуал Студия является высокое качество документирования процесса разработки и описания возможных проблем в MSDN Library. Однако наиболее интересная для профессионала часть, посвящённая тонкостям разработки, существует только на английском языке.

Также компания «Майкрософт» предлагает бесплатный аналог продукта Visual Studio Express.

Оцените статью