Code::Blocks

На страницах "Компьютерных вестей" я не раз рассказывал вам, уважаемые читатели, о разных средах разработки - удобных, красивых, кросс-платформенных. Потому что, как ни крути, среда разработки - вещь достаточно важная как для самого программиста, так и для его работодателя. Почему она важна для программиста, думаю, объяснять не нужно: он пишет в ней код, и чем удобнее будет его писать, тем легче будет работать. Однако грамотные руководители понимают, что так называемое удобство среды разработки - это, прежде всего, производительность труда работника, пишущего и отлаживающего программы. Поэтому любой грамотный руководитель и без меня знает, что на интегрированной среде разработки (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 представляется едва ли не одним из лучших среди всех возможных вариантов. Поэтому не стоит сразу отворачиваться от свободного программного обеспечения. Лучше сначала попробовать, а потом уже решать, отворачиваться или нет. Прописные истины? Может быть. Но ведь чем банальнее утверждение, тем сложнее до него дойти отдельно взятому человеку.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

04 за 2007 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя Alex
Пользуюсь уже год, написал пару десятков программ и программок. Отличная от других и имепет ряд приемущест, которые мне очень понравились, как разработчику. За все время работы, ни разу не глюкнула (оси 2000, ХР)
Аватар пользователя norn
Я был в шоке! Нет, я, конечно, знаю о Linux и др. осях, ничем не уступающих (а часто превосходящих Windows), но такого удобства не ожидал. правда, с плагинами пока не разобрался... :)
Аватар пользователя Kim Kovach
>...кросс-платформенность. Однако она ограничена двумя

>платформами: 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) - абсолютно работоспособные релизы, хотя и выходят каждый день