C ++ Builder или Visual Studio для собственной разработки на C ++?

StackOverflow https://stackoverflow.com/questions/437416

  •  22-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Любые гуру C ++ хотят поделиться своим мнением?

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

Это было полезно?

Решение

Исходя из 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 ++.

Другие советы

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

Простой ответ заключается в том, что для разработки на чистом C ++ это должен быть VC ++.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я любил 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

и новые наборы инструментов для графического интерфейса

<Ол>
  • WxWidgets
  • Qt4 теперь также имеет лицензию с открытым исходным кодом
  • Подводя итог; Строитель мертв, потому что Borland

    <Ол>
  • думал, что Delphi такой замечательный, что им больше ничего не нужно, чтобы зарабатывать деньги
  • попал в ажиотаж Java и вложил в него слишком много ресурсов
  • не понимал большой мощи C ++ и вместо этого переходил на паскаль, который всегда был академическим языком без реальных продуктов, созданных с его помощью
  • Когда дело доходит до разработки окон, на самом деле ничто не превосходит Visual Studio. Он очень многофункциональный и имеет отличный отладчик, не говоря уже о огромном сообществе пользователей, которое поможет вам с любыми проблемами, с которыми вы можете столкнуться. Если бы инструменты разработки компании для их собственной операционной системы не были для нее лучшими, я бы опасался их статуса в мире программного обеспечения. Но если вам не нужны дополнительные функции и вам абсолютно необходим RAD-инструмент с функцией drag & amp; Drop (помимо MFC) C ++ builder не сильно отстает. Предварительное использование среды delphi является для вас преимуществом.

    В последней версии C ++ Builder от CodeGear, я имею в виду версию 2009 года, можно сказать, что ее обновления действительно могут заставить вас ненавидеть эту IDE.
    После установки 2-го обновления я обнаружил, что блок if / else НЕ РАБОТАЕТ ПРАВИЛЬНО. Он может вводить оператор IF, но не может вводить еще один - и это не зависит от ситуации - эта языковая инструкция просто перестала работать вообще. Мне потребовалось около двух-трех часов, чтобы понять это, и я начал разрабатывать необходимое приложение win32 для VS. Я считаю, что оно более надежное, чем продукт CodeGear. Вторая функция, которая мне не нравится, вы не можете отключить поддержку Unicode и вынуждены использовать ANSI-версии функций win32 EXPLICITLY (например, SendMessageA (...)), что очень скучно. Я едва уложился в срок, чтобы закончить работу, используя VS2008.
    Это только мой опыт, выбор за вами

    Попробуйте вместо Lazarus. Напиши один раз, собери много. Работает на нескольких платформах. Каждый, кто имеет опыт работы с Delphi и Kylix, будет чувствовать себя как дома с этим инструментом RAD. Что касается будущего, то это открытый исходный код с сильным сообществом, развитие будет продолжаться без коммерческих ограничений.

    Для нативной разработки на C ++ я бы не хотел использовать ни C ++ Builder, ни VS. Эти IDE оптимизированы для использования с их фреймворками.

    Я бы предпочел выбрать Eclipse, Code :: Blocks или Codelite. Эти IDE не оптимизированы для какой-либо платформы, и вы можете переключаться между несколькими компиляторами на строгих платформах.

    2012 год почти заканчивается. Я был пользователем Borland C ++, а затем перешел на VC ++ 6.0. Недавно появилось требование от клиента, который хотел бы получить графический интерфейс для своего продукта и не хотел зависимости от .NET Framework. поэтому я исследовал Embarcadero RAD Studio XE2.

    Когда дело доходит до разработки C ++ RAD, я думаю, что даже MSVC ++ близко не подходит. Это было похоже на ветер. хотя я нашел проблемы при компиляции шаблонов. Например, если вы определили функтор и хотите объединить конструктор с вызовом функтора, который вы не можете сделать в C ++ B, вы должны создать объект и затем вызвать функтор отдельно. Были и другие проблемы, так как я не мог полностью скомпилировать библиотеку Poco.

    Я нашел решение, создав библиотеки DLL в VC ++ и вызвав их из внешнего интерфейса C ++ B. это дает лучшее из обоих.

    Я надеюсь, что Embarcadero скоро догонит стандарты.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top