Обзор бесплатных IDE для Windows мы начнем с Microsoft IDE, которые, по идее, должны быть наиболее подходящими для программирования в Windows.
Microsoft Visual С++ 2005 Express Edition
Компания Microsoft лишь недавно присоединилась к другим компаниям, выпускающим, наряду с коммерческими, бесплатные варианты своих IDE. На момент написания этой статьи Visual Studio 2005 Express Edition находился на стадии бета-версии, которая и рассматривается (рис.1). В состав Visual Studio 2005 входит, естественно, не только C++ IDE. О некоторых других компонентах пакета речь пойдет в следующих статьях.
Visual C++ 2005
Первое, с чем сталкивается пользователь, желающий установить Visual Studio 2005 Express Edition, - это существенный расход сетевого трафика. Для экономически благополучных стран это может быть и не важно, но для отечественного программиста (особенно индивидуального или начинающего) сотни мегабайт трафика имеют значение. Для того, чтобы установить любой из компонентов Visual Studio 2005 Express, нужно сначала скачать и установить .NET Framework 2.0 Beta и .NET Framework SDK 2.0 Beta. И если дистрибутивы .NET Framework 2.0 можно скачать, а потом установить или переустановить на несколько машин, то компоненты Visual Studio 2005 Express можно устанавливать только в онлайне. Это значит, что если вы хотите установить Visual Studio 2005 Express на несколько машин, трафик вырастет пропорционально, а для тех, кто подключается к Сети через диал-ап, установка Visual Studio 2005 Express может стать просто нереальной. Схема, применяемая Microsoft, отличается (и, по-моему, не в лучшую сторону) от схемы Borland, при которой можно скачать дистрибутив продукта, а потом отдельно зарегистрировать несколько бесплатных лицензий. Кроме того, необходимость устанавливать компоненты Visual Studio 2005 Express в онлайновом режиме означает, что если во время установки связь будет разорвана, весь процесс скорее всего придется начинать заново.
Но это еще не все. Для того, чтобы иметь возможность разрабатывать что-либо помимо консольных приложений, использующих стандартную библиотеку C++, необходимо загрузить и установить Win32 Platform SDK. Таким образом, общий объем закачки составит около 400 Мб (без учета дополнительных компонентов Visual Studio 2005, о которых сказано ниже). Кроме C++ IDE в состав Visual Studio 2005 Express входят .NET IDE, фрагменты MSDN 2005 и (на данный момент) бета-версия SQL Server 2005 Developer Edition. От установки любого из этих компонентов можно отказаться.
Возможности самой IDE весьма заметно урезаны. Так например, несмотря на то, что вкладка менеджера ресурсов в IDE присутствует, при ее открытии сообщается, что Express Edition не поддерживает редактирование ресурсов.
Поскольку серьезных преимуществ у бесплатной IDE от Microsoft перед бесплатными IDE других разработчиков нет, рекомендовать ее можно скорее всего тем, кто хочет познакомиться с интерфейсом и приемами работы с Microsoft Visual C++, для того чтобы позднее перейти на коммерческий вариант.
Borland C++ BuilderX
Года два назад компания Borland выпустила серию IDE, не похожих на предыдущие продукты Borland. Основным отличием новых продуктов, к названию которых добавилась буква X, был отказ от использования встроенных компиляторов. Внешний вид IDE тоже сильно изменился (рис. 2).
Borland С++ Builder X
В линейке продуктов Borland С++ BuilderX представлен и бесплатный Borland С++ BuilderX Personal. Эта IDE лишена средств визуального программирования. В качестве компиляторов можно использовать Borland C++ Compiler и MinGW (порт компилятора GCC для Windows). Кроме того имеется возможность подключить сторонний консольный компилятор (например, из Win32 SDK). В состав дистрибутива C++ BuilderX Personal также входят фрагменты Win32 SDK. На сайте Borland можно загрузить SDK для некоторых мобильных устройств, которые также интегрируются с C++ BuilderX. Бесплатная IDE от Borland поддерживает средства коллективной работы и контроля версий исходных текстов. Важная деталь: лицензия BuilderX Personal не позволяет создавать программы для распространения на коммерческих условиях.
Возможности самой IDE C++ BuilderX Personal можно назвать «спартанскими». Редактор исходных текстов не поддерживает автоматическое завершение кода. В комплект поставки входят два отладчика (DBK и GDB), но работать с ними не так удобно, как со встроенными отладчиками. Из приятных мелочей стоит отметить окно History (упрощенный вариант контроля версий исходных текстов) и средство массового редактирования идентификаторов (если в выделенном фрагменте текста изменить идентификатор в одной из строк, соответствующий идентификатор будет изменен во всем выделенном фрагменте). Ввод/вывод консольных приложений выполняется в специальном окне IDE, что тоже удобно.
До сих пор была выпущена только одна версия C++ BuilderX (1.0). По-видимому Borland признала этот продукт неудачным, так как недавно было объявлено, что в будущем C++ Builder будет интегрирован в пакет Delphi (в который уже интегрирован C#) и вновь обретет черты «классического» C++ Builder (вероятно, вся серия «X» была признана не очень удачной, так как на смену JBuilderX уже выпущен JBuilder 2005, более похожий на предыдущие версии JBuilder).
Dev-C++
Эта IDE, распространяемая на условиях GPL, является оболочкой вокруг пакета MinGW (рис.3).
Для GPL-IDE набор функций и возможностей Dev-C++ оказался неожиданно богат: автоматическое завершение кода, специальное окно для просмотра значений переменных в процессе отладки, редактор ресурсов, окно состояния процессора.
Используемый в IDE компилятор GCC из MinGW вполне подходит для создания приложений профессионального уровня, хотя «для полноты картины» можно было бы добавить в качестве опции и поддержку компилятора из Win32 SDK. Поддерживаются отладчик и средство управления версиями из пакета MinGW (соответственно GDB и CVS). В общем и целом можно сказать, что MinGW, используемый как в Dev-C++, так и в C++ BuilderX, демонстрирует успешную экспансию инструментария Linux на платформу Windоws.
Если плюсом продуктов Microsoft является тесная интеграция с ОС Windows, то преимуществом IDE от Borland и открытой IDE Dev-C++ является более высокая кросс-платформенность, связанная с кросс-платформенностью инструментов MinGW. Впрочем, о кросс-платформенности будущих средств разработки от Borland говорить трудно, так как компания не отличается последовательностью в этом вопросе.