Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Visual C++ - расширенное программирование Современные средства разработки для С++ под Windows


Информационный Канал Subscribe.Ru

Visual C++ - расширенное программирование

Выпуск      : 17
Подписчиков : 5583
Cайт        : SoftMaker.com.ru
Архив       : Visual C++ - расширенное программирование (архив)
В этом выпуске
От автора

Здравствуйте уважаемые подписчики !

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

И, как всегда, вы можете задать свои вопросы по программированию на сайте в форуме.
Или обсудить их в дискуссионном листе "Программирование. форум !!!".

Многим может быть также интересна рассылка: C/C++ Вопрос-Ответ, содержимое которой формируется из писем читателей. Здесь Вы можете задать вопрос по программированию на C/C++ и ответить на вопросы других подписчиков.

С уважением, Вахтуров Виктор.

Статьи

Современные средства разработки для С++ под Windows.

Вступление

C++ - самый распространенный в мире язык программирования, с этим нельзя поспорить. Любая технология претендующая на распространенность имеет реализацию на С++. Программисты на С++ зарабатывают больше всех денег, на С++ написано больше всего программных продуктов. Для С++ существует больше всего различных средств разработки, предназначенных для различных целей и реализующих различные технологии. Начинающему программисту порой тяжело решить, что выбрать для изучения. Для облегчения выбора и был написан этот обзор.

Для этой статьи были выбраны современные, распространенные средства разработки для С++ от грандов индустрии разработки ПО:

Данный обзор не прендует на оъективность, здесь выражено мнение автора по каждому из продуктов, основанное не личном опыте их использования. Автор не расположен флэймить на тему Это vs. То.

Microsoft Visual C++ .NET 7.0 / 7.1

Системные требования
CPU 1000 Mhz
RAM 256  Mb
HDD 1000 Mb

Различий между версиями VC++.NET 7.0 и 7.1 не так много: в 7.1 добавлена возможность разработки приложений .NET, улучшен компилятор, исправлены баги в IDE. VC++.NET 7.0 входит в состав Visual Studio.NET 2002, а VC++.NET 7.1 в состав Visual Studio.NET 2003. Считается, что Visual Studio.NET 2003 более стабильна. Я согласен с этим мнением. Microsoft решила объединить все свои средства разработки <под одной крышей>, в единой, универсальной IDE - Development Environment. Прототипом для нее служила среда Microsoft InterDev.

Среда сделана замечательно. Очень эргономичный и продуманный интерфейс, позволяет настроить среду разработки так, как удобно программисту. Стиль Office XP приятно радует глаз и действует очень расслабляюще. Все окна в IDE могут сворачиваться, освобождая место для дизайнера диалога или окна с кодом. Редактор кода - это отдельная песня. Наконец то Microsoft сделала многооконность с вкладками, как в Opera. Редактор может показывать номера строк, сворачивать участки кода, есть настраиваемая подсветка синтаксиса. Если установить Visual Assist.NET, редактор кода станет еще более удобным.

Среда содержит в себе все, что может понадобиться программисту. Прекрасно сделанный эргономичный отладчик, здорово поможет отладке. Есть простая система инсталляции программ. В среду интегрирован язык Visual Basic for Applications, здорово облегчающий написание макросов.

В версии 7.0 можно создавать программы с использованием MFC, ATL, WinAPI, managed C++. В ней не содержится мастеров и дизайнеров для dotNET. Если Вы желаете писать .NET - приложения, придется все писать ручками.

Версия 7.1 отличается от 7.0, наличием визуальных средств создания .NET приложений. Кроме того обновлены версии MFC и ATL. Так что лично мне кажется, наиболее оптимальным выбором будет версия 7.1. Выбор версии 7.0 оправдан, если у Вас есть какая-либо программа, которая не умеет работать с Visual C++.NET 7.1, например старые версии Intel C++ Compiler или VTune.

Отдельных слов заслуживает компилятор Visual C++.NET. В нем улучшена поддержка стандартов С++, он даже вышел в качестве бесплатного пакета Visual C++ .NET 2003 Toolkit. Кроме того наконец в Visual Studio.NET интегрировали нормальную систему помощи. Если у Вас установлена MSDN, Вы сможете, не выходя из среды получить необходимую информацию. Окно Dynamic Help всегда готово предложить ссылки с дополнительной информацией.Еще одно новшество - Start Page - окно появляюшееся при старте Visual Studio.NET содержащее ссылки к недавно открытым проектам, разной информации, основным опциям настройки.

К сожалению, у Visual Studio.NET есть несколько отрицательных сторон.

Во-первых, Visual Studio.NET очень любит системные ресурсы, особенно оперативную память. Если Вы пишете большое ASP.NET приложение, Visual Studio.NET начинает поглощать память и усиленно свопить, что не доставляет радости программисту. То же относится к компиляции. На слабой машине, компиляция может занимать длительное время. А если компилировать с различными оптимизациями, то можно вовсе не дождаться результата.

Кроме того, Visual Studio .NET при установке требует Internet Information Services.

Самое неприятное - это возможные проблемы при установке на Windows XP и 2000. При установке Visual Studio.NET на эти ОС может произойти ошибка 1935 и Visual Studio.NET не установится. Собственно это ошибка свойственна всем .NET программам, кроется она в недрах Windows Installer и не устраняется даже установкой SP2 для XP. Мое решение - переход на Windows Server 2003, где данная ошибка отсутствует, видимо из-за новой версии Windows Installer.

Кроме того, Visual C++ не содержит вменяемого способа, для организации доступа к базам данных, без использования сторонних разработок. Многое приходится писать по множеству раз. Это странно, ведь большинство приложений, так или иначе, использует базы данных. Впрочем, для баз данных разумнее использовать что-нибудь более специализированное, например FoxPro. Основная область применения Visual C++.NET - написание компонентов, сервисов, драйверов. Хотя если использовать NET, то на С++ можно писать и программы со сложным интерфейсом.

Итоги:

+ превосходно сделанная среда
+ хороший компилятор
+ огромное количество дополнений и независимых библиотек
+ универсальность и интеграция

- требовательность к ресурсам
- проблемы при установке на 2000/XP
- Visual Studio.NET 2002 несколько нестабилен
- нет встроенных средств для доступа к базам данных

Оценка:

Visual Studio 2002 - * * * *     4/5
Visual Studio 2003 - * * * * *   5/5

Microsoft Visual C++ 6.0

Системные требования
CPU 400 Mhz
RAM 128 Mb
HDD 400 Mb

Несмотря на то, что вышло уже две следующие версии Visual C++, и готовится к выпуску третья, Visual C++ 6.0 продолжает активно использоваться для разработки ПО. Для данной среды создан огромный массив всяческих средств, облегчающих процесс программирования, в Visual C++ 6.0 интегрируются множество компиляторов и библиотек.

К сожалению, данная среда морально устарела и не способна конкурировать с более новыми продуктами. Она не так удобна, как Visual Studio.NET, в ней отсутствуют многие фишки Visual Studio.NET. Глупая многооконность MDI, неудобный редактор кода, примитивный дизайнер диалогов. Кроме того компилятор Visual C++ 6.0 содержит ошибки в реализации стандарта С++, подчас довольно глупые.

Использование данной среды актуально лишь если используется необычный компилятор или иной продукт, не способный работать с Visual Studio .NET. Например Intel C++ Compiler for Itanium 8.0 не работает с Visual Studio .NET, он интегрируется только в Visual C++ 6.0 . Однако такие случаи весьма редки в практике. Поэтому разумнее выбрать Visual Studio.NET.

Достоинство данной среды - высокая производительность, в отличие от задумчивого Visual Studio .NET, Visual C++ 6.0 работает довольно шустро, даже на относительно слабых машинах.

Итоги:

+ высокая производительность

- ошибки в компиляторе
- неудобный интерфейс
- общее моральное устаревание технологии

Оценка:

Visual С++ 6.0 - * * *  3/5

Borland C++ Builder 6.0

Системные требования
CPU 600 Mhz
RAM 128 Mb
HDD 600 Mb

Наконец мы перешли к творениям фирмы Borland. Borland C++ Builder в своем роде уникален. В Borland просто взяли и воткнули в Delphi 2 компилятор С++, добавили в С++ расширения для совместимости с Delphi и получили C++ Builder 1.0. В С++ было внесено несколько несовместимых со стандартом расширений, которые позволили использовать VCL в программах на С++.

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

Достоинством данной среды является то, что в ней реализована идея подлинно визуальной разработки программ. Дизайнер интерфейсов позволяет не написав ни строчки кода, создавать программы со сложным интерфейсом. Программист лишь пишет важный для работы код, интерфейс за него реализует среда.

В С++Builder превосходно реализована работа с базами данных, связи с базами данных создаются "в два клика". С++Builder поддерживает множество баз данных и технологий доступа к ним. С++Builder может использовать компоненты, формы и библиотеки, созданные для Delphi, так как содержит в себе компилятор Delphi.

C++Builder - хороший пример, когда отличная идея - Rapid Application Development совершенно уделывается кривой реализацией. Прекрасный подход к разработке приложений баз данных, совершенно испорчен неудобной средой. С++Builder содержит порядочное количество ошибок, частенько вылетает с General Protection Fault. Еще одна ложка дегтя - совершенно не пригодная для использования система помощи. Область применения данного средства разработки ограничена ортодоксами, которых тошнит от Паскаля, но им надо быстро создать приложение для доступа к базе данных. Именно в таких приложениях С++Builder на высоте, в остальном же С++Builder - аутсайдер на рынке.

Итоги:

+ легкость разработки пользовательского интерфейса
+ простота организации доступа к базам данных

- ненадежный компилятор
- неудобный интерфейс
- общая хроническая глючность

Оценка:

С++ Builder 6.0 - * * *  3/5

Borland C++ BuilderX 1.0

Системные требования
CPU 1500 Mhz
RAM 1024 Mb
HDD 600  Mb

Данный продукт стоит особняком в семействе продуктов Borland. Его появление вызвало определенный фурор, но интерес к нему быстро угас, из-за незавершенности продукта.

Необычность его состоит в том, что это универсальная IDE для операционных систем Windows, Linux, Solaris. Написан C++ BuilderX на Java. Это делает его переносимым, но пагубно сказывается на производительности. C++ BuilderX страшно тормозит на простейших операциях, впрочем тормознутость свойственна всем продуктам из линейки Х.

C++ BuilderX не содержит никаких визуальных средств разработки, в поставку для Windows входит только компилятор от Borland и компилятор MinGW GCC. Практически это означает что он совершенно бесполезен. Тем более странным выглядит его появление, когда Borland активно сотрудничает с проектом Eclipse, и тут же выпускает прямого конкурента этой среде.

По непроверенным данным Borland не выпустит новую версию C++ BuilderX, а вернется к интеграции C++Builder и Delphi. Хотя от Borland можно ожидать всего, они редко отличаются последовательностью в своих действиях. Такое впечатление, что в Borland спешно адаптировали JBuilder для С++ и выкинули на рынок. Среда удобная, но абсолютно бесполезная. Теоретически там должна быть кросс-платформенная библиотека wxWindows, похожая на Qt от Trolltech. Но в версии 1.0 Enterprise следов этой библиотеки не замечено. Существуют, правда, SDK для разработки программ для SymbianOS и только их наличие оправдывает существование этого продукта.

Вообще C++ BuilderX позиционируется как всеобъемлющая универсальная среда разработки, пригодная для разработки приложений любого уровня. Правда в C++BuilderX не замечено средств для реализации этой универсальности.
Провал Borland.

Итоги:

+ кросс-платформенность

- ужасно низкая производительность
- полнейшее отсутствие каких-либо визуальных инструментов

Оценка:

C++BuilderX -  0/5

Metrowerks CodeWarrior

Системные требования
CPU 600 Mhz
RAM 128 Mb
HDD 200 Mb

Данная среда разработки не так распространена на рынке, как продукты Borland и Microsoft. Однако CodeWarrior занимает свою нишу на рынке ПО. Он позволяет писать программы для Macintosh, GameCube, PlayStation, PalmOS.

Версия для Windows содержит прекрасную, необремененную лишними наворотами среду разработки, весьма хороший компилятор, поддерживающий стандарт С++. CodeWarrior - хороший выбор для программистов, которым нужна легкая, быстрая среда для реализации их идей. Никаких мастеров приложений и визуальных дизайнеров в ней нет. Поддерживается WinAPI и MFC. Пример прекрасного минимализма. Хотя основное применение CodeWarrior - это написание приложений для мобильных и игровых платформ. Именно там он и проявляет себя во всей красе. В нем даже есть визуальный дизайнер, правда он работает только с Java 1.3.

Итоги:

+ компилятор, поддерживающий стандарт С++ на 100%
+ производительная и быстрая IDE

- нет визуальных дизайнеров и мастеров генерации кода

Оценка:

CodeWarrior - * * * *  4/5

GCC + Dev-C++

Системные требования
подойдет практически все

Данное <средство> было включено в обзор, для иллюстрации альтернативного подхода к разработке ПО. Компилятор GCC является неплохим решением, когда требуется бесплатный компилятор для написания легальной программы, ведь в России не принято покупать средства разработки за деньги. Хорошей IDE для С++ является так же бесплатная Dev-C++ от Bloodshed. В ней есть все что понадобится нетребовательному программисту, даже поддержка отладчика GDB. Впрочем, никто не мешает ортодоксам пользоваться notepad для написания исходников.

Итоги:

+ бесплатность
+ соответствие стандартам

- непривычность
- gdb - не самый удобный отладчик

Оценка:

GCC + Dev-C++ - * * * *  4/5

Заключение

Итак, мы рассмотрели наиболее распространенные среды разработки для С++. Какие-то из них - гигантские пакеты, содержащие все, что может понадобится программистам, какие-то маленькие и аскетичные, подкупающие изящным минимализмом. Каждая из них по-своему уникальна, воплощает свою концепцию разработки ПО. Правильный выбор средства воплощения идей - признак профессионализма. Начинающему же программисту, изучающему С++, прекрасно подойдет Metrowerks CodeWarrior, а для практического программирования лучшим выбором будет связка Visual Studio.NET и Borland C++ Builder.


Автор статьи : Владимир Михайленко.

Книги по C/C++
Программирование игр для Windows. Советы профессионала (+ CD-ROM)
Программирование игр для Windows. Советы профессионала (+ CD-ROM)

Автор: Андре Ламот

Книга предназначена для читателей, интересующихся вопросами разработки игр в операционной системе Windows. В ней освещены разнообразные аспекты программирования игр - от азов программирования до серьезного рассмотрения различных компонентов DirectX, от простейших физических моделей до сложных вопросов искусственного интеллекта. Книга будет полезна как начинающим, так и профессиональным разработчикам игр для Windows, хотя определенные знания в области программирования (в частности, языка программирования C или C++), математики и физики существенно облегчат изучение материала.

Страница книги на Озоне
Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации (+ CD-ROM)
Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации (+ CD-ROM)

Автор: Андре Ламот

Данная книга представляет собой продолжение книги Андре Ламота "Программирование игр для Windows. Советы профессионала" и посвящена созданию трехмерных игр. В книге освещены различные аспекты разработки трехмерных игр, однако основное внимание уделяется вопросам программирования трехмерных игр - в частности, вопросам представления трехмерных объектов, их визуализации с учетом свойств материала объектов, освещения, перспективы, а также таким специфическим вопросам трехмерной визуализации, как создание различных визуальных спецэффектов и т.п.

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

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

Страница книги на Озоне
Рассылки и дискуссионные листы компьютерной тематики
Рассылки
C/C++ Вопрос-Ответ

Это - интерактивная рассылка !
Здесь Вы можете задать свой вопрос по программированию на C и C++, а также ответить на вопросы других подписчиков.


Программирование на JavaScript

Все аспекты программирования на JavaScript - нестандартные приемы, ОРИГИНАЛЬНЫЕ скрипты, авторские статьи и наработки. "JavaScript solutions" - в каждом выпуске готовый к применению ИНТЕРЕСНЫЙ скрипт (исходный код с комментариями).

Дискуссионные листы
Программирование. Форум !!!

Самый популярный дискуссионный лист по программированию на subscribe.ru, существующий с момента открытия сервиса дискуссионных листов !

Задайте здесь любой вопрос по программированию - и Вы получите ответ. Участвуйте в оживленных дискуссиях, обсуждайте интересные темы. Давайте ответы сами. Ведь это форум !!! Здесь просто интересно ! Присоединяйтесь !

Вебстроительство. Форум !!!

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

Поисковые системы. Форум !!!

Этот дискуссионный лист посвящен обсуждению поиковых систем, методов индексации сайтов поисковиками, способам оптимизации сайта под поисковые системы.

Хостинг. Обзоры и обсуждения платного и бесплатного хостинга.

Вы ищете хостинг (платный, бесплатный) ? Хотите спросить совета в выборе ? Можете обсудить это здесь. Поделитесь советом, если знаете. Или узнайте больше. Все о хостинге.


Всего доброго. До встречи в следующем номере.

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.qandacpp

Другие рассылки этой тематики
Отписаться
Вспомнить пароль

В избранное