C ++ Builder или Visual Studio для собственной разработки на C ++? - PullRequest
15 голосов
/ 13 января 2009

Я решил, что хочу больше узнать о разработке собственного кода на C ++. Я пытаюсь решить, будет ли мне лучше работать с использованием CodeGear C ++ Builder 2009 или Visual Studio 2008. В настоящее время я использую Delphi 2007, поэтому мне очень удобно работать с IDE C ++ Builder (такой же, как Delphi), а также с VCL и RTL.

Я никогда не был большим поклонником MFC (с первого раза, когда я играл с ним в VS 6.0 дней), но с тех пор я не обращал на это пристального внимания.

Мне интересно узнать мнение некоторых экспертов, имеющих опыт работы с обеими IDE, независимо от того, являются ли они самыми последними версиями.

Прямо сейчас я склоняюсь к C ++ Builder, потому что считаю, что VCL гораздо надежнее и с ним проще работать, чем MFC - но, как я уже сказал, я давно использовал MFC. Я не заинтересован в создании программ, основанных на .NET Framework, потому что я частично учу себя нативной разработке. MFC по-прежнему царит для Windows C ++? Или WTL или ATL большая вещь?

Кто-нибудь из C ++ гуру хочет поделиться своим мнением?

РЕДАКТИРОВАТЬ : Я понимаю, что MFC - не единственный инструментарий GUI для Visual Studio. Тем не менее, я ищу некоторые рекомендации, основанные на GUI инструментарий + IDE. Для C ++ Builder существует только 1 реальная опция - C ++ Builder + VCL. Для VS 2008 это VS + MFC / ATL / WTL / QT .... сбивает меня с толку, так как я мало что о них знаю.

Ответы [ 15 ]

15 голосов
/ 13 января 2009

Исходя из Delphi, вы обнаружите, что VCL прост в использовании с C ++ Builder. Есть несколько странностей, например, в C ++ не скрывается тот факт, что объекты TObject действительно являются указателями (которые Delphi скрывает от вас), а некоторые вещи, например свойства массива, доступны по-разному.

Два или три года назад я искал какой-либо выход из C ++ Builder, но теперь, с недавними выпусками (и приобретением Embarcadero Codegear), я доволен продуктом и направлением.

Вы найдете, что число типов строк и возможные потенциальные несовместимости весьма болезненны в C ++ Builder, но вы привыкнете к этому! (std :: string, char [], wchar_t [], TCHAR, AnsiString, WideString, UnicodeString и String, чтобы назвать несколько)

Лично я бы проголосовал за C ++ Builder - из-за двустороннего RAD и VCL, хотя это может быть не лучшим способом изучения современных идиом C ++.

13 голосов
/ 13 января 2009

Visual Studio и MFC не совпадают. Я все время использую Studio и избегаю MFC, как чума. Вы можете использовать WTL, ATL, Win32 или любое количество библиотек для создания приложений без MFC.

10 голосов
/ 13 января 2009

Ответ прост: для разработки на чистом C ++ это должен быть VC ++.

Чтобы расширить: как чистая среда разработки C ++ вы просто не можете победить VC ++, отладчик лучше, IDE лучше (все ИМХО, конечно). Я использовал его для разработки библиотек, которые я затем использую из C ++ Builder по этим причинам.

Однако, как только вы начнете разработку пользовательского интерфейса, или что-либо, что вы можете решить с помощью VCL или компонентов C ++ B, будет лучшим выбором. По сравнению с VCL, MFC или ATL ужасны по сравнению, и поэтому вам остается использовать .NET, что, вероятно, является лучшим вариантом, но не

Я не уверен, что рекомендую создавать новый продукт с использованием C ++ B или Delphi, основываясь на последних нескольких годах «руководства» производителей. Однако, похоже, что ситуация меняется к лучшему, но пока не пройдет немного времени, трудно сказать, как эти обещания воплощаются в реальность.

6 голосов
/ 13 января 2009

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

Это также наиболее широко поддерживаемый набор инструментов для компилятора в Windows. Загрузите любой проект / библиотеку с открытым исходным кодом и, если поддерживается Windows, скорее всего, он был собран и протестирован с использованием VS. Его популярность также гарантирует, что это самое полезное в резюме.

Что дает вам Строитель? Разумная библиотека GUI. Что ж, это хорошо, но есть много других достойных наборов инструментов GUI (wxWidgets, GTK, Qt и т. Д.). Многие из них с открытым исходным кодом и кроссплатформенные.

Однако в наши дни я считаю, что лучше реструктурировать мои приложения, чтобы обеспечить API, а затем построить графический интерфейс поверх него на другом языке. Сила C ++ в разработке GUI , а не . По крайней мере, не сегодня ...

Я бы выбрал - и порекомендовал - VS над Builder.

5 голосов
/ 13 января 2009

Я не использовал C ++ Builder в течение многих лет, но в отношении отладки C ++ Visual Studio 2008 стоит далеко от других сред IDE и предыдущих VS, особенно если вы используете контейнеры STL, поскольку это позволяет очень легко проверять их содержимое. .

Однако, на стороне GUI, C ++ теперь очень похож на язык второго класса для Microsoft. Путь в будущее - WPF, и C ++ не поддерживается как язык, дружественный к XAML : Мы продолжим инвестировать в C ++ / CLI, чтобы позволить разработчикам представить собственные ресурсы C ++ управляемому миру и т. наоборот. Мы считаем, что чистая разработка .NET лучше всего выполняется с использованием языка, ориентированного на .NET, такого как C # или VB. Инвестиции в C ++ / CLI будут в основном осуществляться в областях взаимодействия, управляемых собственными силами.

Итак, для создания современного C ++ GUI, вашим лучшим вариантом действительно может быть VCL - если VCL продолжает делать это возможным; -)

3 голосов
/ 25 февраля 2010

C ++ Builder намного превосходит MS-VS, когда речь идет о разработке на основе пользовательского интерфейса и приложениях, ориентированных на базы данных. MFC отстой !! Однако VS обладает лучшими возможностями отладки.

2 голосов
/ 04 мая 2009

Я любил C ++ Builder пару лет назад. Это было восхитительно. Это было намного лучше с его VCL, чем VS с его дерьмовым MFC. Тогда все меняется с каждым годом.

Строитель идет вниз; 1. Строитель не был обновлен с какой-либо реальной функциональностью. 2. Borland отказалась от идеи переписать VCL на C ++ для использования с Kylix и Builder. 3. Беспорядок в CodeGear и неопределенное будущее Builder отпугнули многих людей.

VS становилось лучше; 1. IDE была значительно улучшена 2. Компилятор из наименее совместимого со стандартом на платформе Windows стал самым совместимым со стандартом (конечно, не считая GCC на MinGW) 3. Появился .NET и появился Managed C ++, а затем C ++ / CLI, чтобы сделать возможным использование этой среды из C ++

.

У нас появились новые сильные игроки 1. Затмение 2. Qt Creator

и новые инструменты GUI

  1. WxWidgets
  2. Qt4 теперь также имеет лицензию с открытым исходным кодом

Подводя итог; Строитель мертв, потому что Borland

  1. думал, что Delphi так прекрасен, что им больше ничего не нужно, чтобы зарабатывать деньги
  2. попал в ажиотаж Java и вложил в него слишком много ресурсов
  3. не понимает большой мощи C ++ и вместо этого использует паскаль, который всегда был академическим языком без реальных продуктов, созданных с его помощью
2 голосов
/ 13 января 2009

Ну, вы можете использовать Eclipse + MinGW + Qt4 + QT Eclipse Integration и получить все необходимое: отладчик, визуальный дизайнер графического интерфейса и т. Д.

Помните, что Qt4 имеет двойную лицензию: Open Source и коммерческая лицензия.

Также вы можете комбинировать Qt4 с Visual Studio (даже с Express) и использовать все, что дает Goodnes VS.

Для меня Qt4 - это путь против VS Строителя.

2 голосов
/ 13 января 2009

Просто, черт возьми, мы можем добавить затмение и к миксу?
Я просто обнаружил, что работать в Eclipse лучше, чем работать в Visual Studio.

Если вы не используете VS2008 с winforms, поддержка графического интерфейса осуществляется через шаблоны Windows (как правило, из ресурсов), что устарело, и вы, вероятно, не хотите использовать. Так что поддержка графического интерфейса в VS2008 не такая уж особенная.

Что касается инструментария GUI, возможно, смотрите Что такое хороший инструментарий GUI / виджетов

2 голосов
/ 13 января 2009

Я второй раз собираюсь на C ++ Builder, учитывая, что вы уже знаете Delphi. MFC не сильно изменился со времен VS6, поэтому код, написанный с использованием MFC, все еще выглядит как дерьмо. Однако VS изменился и теперь является довольно хорошей IDE.

Также имейте в виду, что C ++ Builder нестабилен как линейка продуктов. В прошлом были случаи, когда его не поддерживали / его будущее было неясно и т. Д. Так что вы рискуете, если хотите создать что-то, что длится долго.

...