На страницах "Компьютерных вестей" я не раз рассказывал вам, уважаемые читатели, о разных средах разработки - удобных, красивых, кросс-платформенных. Потому что, как ни крути, среда разработки - вещь достаточно важная как для самого программиста, так и для его работодателя. Почему она важна для программиста, думаю, объяснять не нужно: он пишет в ней код, и чем удобнее будет его писать, тем легче будет работать. Однако грамотные руководители понимают, что так называемое удобство среды разработки - это, прежде всего, производительность труда работника, пишущего и отлаживающего программы. Поэтому любой грамотный руководитель и без меня знает, что на интегрированной среде разработки (IDE) экономить не стоит. Однако желание сэкономить всё же иногда появляется. Правда, делается это тоже довольно мудро: покупается самая дешёвая версия среды разработки, а устанавливается более дорогая и, соответственно, более функциональная.
Однако не обязательно экономить таким способом, который, в общем-то, нельзя назвать совсем уж законным. Можно вместо такого мошенничества с коммерческим программным обеспечением пользоваться бесплатными программами. Стойте, не надо плеваться! Я понимаю, всё, что не похоже на любимые Microsoft Visual Studio и/или Delphi, вызывает поначалу у многих раздражение даже при простом упоминании. И тому есть логичное объяснение: большая часть бесплатного софта для программистов (особенно это касается сред разработки) даже при первом запуске вызывает одно из двух не самых лучших человеческих чувств: либо омерзение, либо скуку. Иногда - глубокую и искреннюю жалость. Однако, заметьте, большая часть - это далеко не весь софт! Как правило, самые известные из freeware и open-source продуктов действительно заслуживают внимания и разработчиков, и их руководства. Достаточно вспомнить такие проекты, как Eclipse или Dev-C++. Да и многие другие тоже. На самом деле не зря же к движению open-source присоединяются всё новые участники. Всё больше продуктов, бывших когда-то коммерческими, набирают обороты как свободные проекты. Хотя и те продукты, которые и начинались как open-source, тоже через некоторое время становятся вполне конкурентоспособными относительно коммерческих аналогов. Хотя, стоит отметить, что не всегда термин open-source синонимичен термину "свободная программа". Хотя, как правило, open-source программы распространяются под лицензиями, позволяющими пользоваться ими без каких бы то ни было отчислений разработчикам.
Среда разработки, с которой я сейчас хочу вас познакомить, как раз из тех замечательных продуктов, которые вызывают интерес, а местами даже и восхищение. Называется эта программа, как видно из заголовка статьи, Code::Blocks, а в интернете её можно найти по адресу www.codeblocks.org. Предназначена она для разработки программ с использованием C/C++. Размер закачки зависит от того, будете ли вы скачивать среду вместе с компилятором или же без него. Также зависит это ещё и от того, будете ли вы скачивать исходные тексты IDE (а они имеются в наличии, поскольку распространяется Code::Blocks под Генеральной общественной лицензией GNU), либо уже скомпилированные файлы. В целом же, объём закачки варьируется от трёх до тринадцати мегабайтов, что на самом-то деле не так уж и много для хорошей среды разработки.
Итак, среда установлена. При первом запуске глаз радует красиво выполненный экран приветствия, который обычно не характерен для свободных программных продуктов. Уже по нему можно судить о серьёзности подхода авторов Code::Blocks к разработке своего детища.
Что готова среда разработки предложить программисту, который её использует? Не так уж и мало, особенно если сравнить с некоторыми другими бесплатными IDE. Во-первых, кросс-платформенность. Однако она ограничена двумя платформами: Windows и Linux. Не очень много, однако это основные операционные системы на рынке. Впрочем, поддержка некоторых других (например, Mac OS X) всё равно не помешала бы. Лично я скачивал версию для Windows, однако, судя по скриншотам на сайте разработчиков, под Linux эта программа выглядит ничуть не хуже.
Во-вторых, каждый может подключить к среде тот компилятор, который ему/ей больше нравится. Или тот, который привычнее использовать. А компиляторы среда разработки поддерживает такие: GCC (MinGW для Windows), Microsoft Visual C++ Compiler, Digital Mars, Borland C++ (версии 5.5), Open Watcom и Sun DCC. В случае если вы скачали среду вместе с компилятором, то им будет, конечно же, GCC. Среда сама передаёт компилятору все ключи, необходимые для его работы с заданными опциями. Причём компиляция может осуществляться как напрямую, так и через make-файлы, которые Code::Blocks также умеет формировать совершенно самостоятельно.
В-третьих, в Code::Blocks имеется удобный и многофункциональный редактор кода, поддерживающий подсветку синтаксиса и фолдинг (сворачивание) блоков кода. Причём работать среда умеет не только с текстами на C/C++, но и с XML-файлами. Слева в окне программы находится проводник по классам, использующимся в её тексте, а также список всех используемых переменных, констант, классов и пространств имён. Там же имеется дерево ресурсов и список просматриваемых во время отладки переменных. Что приятно, так это то, что каждый открытый файл в среде имеет свою вкладку. Это удобный подход, и просто замечательно, что он начинает использоваться во всё большем числе сред разработки.
В-четвёртых, среда Code::Blocks поддерживает подключаемые модули, то есть плагины. Это действительно полезная возможность и с её помощью разработчики реализовали несколько удобных для программиста, использующего Code::Blocks, вещей. И главная из этих вещей - это, конечно, подсказки, возникающие на экране по ходу набора кода и содержащие списки методов классов и параметров методов или функций. Реализована эта возможность, на мой взгляд, не хуже, чем во многих коммерческих средах разработки. Среди других плагинов, которыми может похвастаться сайт проекта Code::Blocks, стоит, как мне кажется, вспомнить мастер форматирования кода, мастер создания новых классов, подсчёт статистики по исходному коду проекта и мастер внедрения XP Manifest в ресурсы проекта. Если вы, как и я, скачали самую большую версию Code::Blocks (ту, которая с компилятором), то у вас эти все плагины уже есть. Естественно, каждый желающий может создать собственный плагин к среде разработки. Для этого нужно будет скачать специальный SDK (Software Development Kit - набор для разработки программного обеспечения) с сайта проекта.
В качестве отладчика среда использует GNU Debugger. Работа с ним практически не отличается от работы с отладчиками сред Microsoft и Borland. Также в среде имеется поддержка списка тех вещей, которые разработчик должен сделать в приложении (to-do list). Его можно настроить таким образом, что если средой пользуется несколько разработчиков, для каждого из них он будет собственным и независимым от списков других разработчиков. Также в среде удобно работать с проектами. Они, как и в Microsoft Visual Studio, отделены от настроек рабочего пространства (workspace), и, что приятно, и проекты, и workspace'ы среда умеет импортировать из формата Visual Studio. Проекты, кстати, можно импортировать и из формата Dev-C++. Правда, эти возможности описаны чисто теоретически самими разработчиками IDE, и сам я о них ничего сказать не могу, поскольку сам их не пробовал в действии.
Есть у Code::Blocks ещё одна важная особенность, выделяющая его среди многих других сред разработки. Эта среда имеет тесную интеграцию с библиотекой wxWidgets, предназначенной для создания графического пользовательского интерфейса (когда-то я уже писал о ней в "Компьютерных вестях"). Библиотека эта имеет множество достоинств, и потому разработчики Code::Blocks сделали прекрасный стратегический ход, ориентировав свой продукт на работу с этой замечательной библиотекой. Правда, реализовано это, опять-таки, с помощью плагина, который называется wxSmith, но это уже не самые значительные детали. Плагин позволяет производить разработку интерфейса приложения в визуальном режиме, что не может не быть оценено разработчиками. Особенно теми, кто пробовал создавать интерфейс в невизуальном режиме. Режим редактирования похож на аналогичный из Microsoft Visual C++ или Borland C++ Builder. Похожий дизайнер, похожий редактор свойств объектов. Учитывая кросс-платформенность wxWidgets и Code::Blocks, это совершенно замечательная возможность.
Что ж, вот такая хорошая и полезная среда разработки по имени Code::Blocks. Возможно, многие скажут, что ей далеко до Visual Studio или Borland Developer Studio, и будут, конечно, правы. В ней нет, как в современных версиях этих коммерческих сред, возможности разработки приложений на многих языках и разработки для платформы .NET. Однако эта среда намного легковеснее и компактнее, чем монстры от Microsoft и Borland. Кроме того, для создания кросс-платформенных приложений для Windows и Linux связка Code::Blocks и wxWidgets представляется едва ли не одним из лучших среди всех возможных вариантов. Поэтому не стоит сразу отворачиваться от свободного программного обеспечения. Лучше сначала попробовать, а потом уже решать, отворачиваться или нет. Прописные истины? Может быть. Но ведь чем банальнее утверждение, тем сложнее до него дойти отдельно взятому человеку.
Вадим СТАНКЕВИЧ
Комментарии
>платформами: Windows и Linux Впрочем, поддержка некоторых
>других (например, Mac OS X) всё равно не помешала бы
Code::Blocks полность переносим между всеми POSIX системами (и Mac OS X в том числе)
>В качестве отладчика среда использует GNU Debugger
кроме gbb можно исспользовать и другие отладчики
и еще. кроме версии 1.0-rc2, которая давно не обновляется, существуют Nightly builds (http://forums.codeblocks.org/index.php/board,20.0.html) - абсолютно работоспособные релизы, хотя и выходят каждый день