С++ Builder или Visual Studio для разработки на С++?
Я решил, что хочу получить больше информации о разработке собственного кода с помощью С++. Я пытаюсь решить, будет ли лучше работать с CodeGear С++ Builder 2009 или Visual Studio 2008. В настоящее время я использую Delphi 2007, поэтому мне очень нравится среда разработки С++ Builder (это то же самое, что и Delphi), а также VCL и RTL.
Я никогда не был большим поклонником MFC (с первого раза, когда я играл с ним в VS 6.0 дней), но с тех пор не смотрел внимательно.
Мне интересно услышать от некоторых экспертов, которые имеют опыт работы с обоими IDE, являются ли они самыми последними версиями или нет.
Прямо сейчас я склоняюсь к С++ Builder, потому что считаю, что VCL гораздо более надежный и простой в работе, чем MFC --- но, как я уже сказал, прошло некоторое время с тех пор, как я использовал MFC. Я не заинтересован в создании программ, которые полагаются на .NET Framework, потому что я частично участвую в собственной разработке. Является ли MFC еще королем для Windows С++? Или WTL или ATL большая вещь?
Любые гуру С++ хотят поделиться своим мнением?
EDIT. Я понимаю, что MFC - это не единственный набор инструментов для Visual Studio. Тем не менее, я ищу некоторые рекомендации, основанные на GUI toolkit + IDE. Для С++ Builder существует только 1 реальная опция, которая является С++ Builder + VCL. Для VS 2008 это VS + MFC/ATL/WTL/QT.... сбивает с толку для меня, поскольку я не знаю много о них.
Ответы
Ответ 1
Из Delphi вы найдете VCL прямолинейным для использования с С++ Builder. Есть несколько странностей, например, С++ не скрывает того факта, что TObjects - все действительно указатели (которые Delphi скрывает от вас), и некоторые вещи, такие как свойства массива, доступны по-разному.
Два или три года назад я искал любой выход из С++ Builder, но теперь, с недавними выпусками (и приобретением Embarcadero Codegear), я доволен продуктом и направлением.
Вы найдете количество типов строк и различные потенциальные несовместимости, весьма болезненные с С++ Builder, но вы привыкнете к нему! (std::string, char [], wchar_t [], TCHAR, AnsiString, WideString, UnicodeString и String, чтобы назвать несколько)
Лично я проголосовал за С++ Builder - из-за двухстороннего RAD и VCL, хотя это может быть не лучший способ изучения современных идиом С++.
Ответ 2
Visual Studio и MFC не совпадают. Я все время использую Studio, и я избегаю MFC, как чума. Вы можете использовать WTL, ATL, Win32 или любое количество библиотек для создания приложений без MFC.
Ответ 3
Простой ответ заключается в том, что для чистой разработки на С++ он должен быть VС++.
Развернуть: как чистая среда разработки С++ вы просто не можете победить VС++, отладчик лучше, IDE превосходит (все ИМХО, конечно). Я использовал его для разработки библиотек, которые я затем использую из С++ Builder из-за этих причин.
Однако, как только вы начинаете разработку пользовательского интерфейса, лучше всего выбрать что-либо, что вы можете решить с помощью VCL или компонентов С++ B. По сравнению с VCL, MFC или ATL ужасны для сравнения, и поэтому вы можете использовать .NET, что, вероятно, является лучшим вариантом, но не
Я не уверен, что рекомендую создать новый продукт с использованием С++ B или Delphi на основе последних лет "направления" от поставщиков. Однако это, кажется, меняется к лучшему, но пока прошло немного больше времени, трудно сказать, как promises воплотится в реальность.
Ответ 4
Если вы делаете чистую разработку на С++ в Windows, тогда трудно превзойти VS. Компилятор работает быстро, полностью соответствует стандартам и создает хорошо оптимизированный код. Отладчик является лучшим на любой платформе. IDE в порядке.
Он также явно является наиболее широко используемой компиляционной компиляцией в Windows. Загрузите любой проект/библиотеку с открытым исходным кодом, и, если Windows будет поддерживаться, она, вероятно, будет построена и протестирована с использованием VS. Его популярность также гарантирует, что это наиболее полезно иметь в резюме.
Что дает вам Builder? Разумная библиотека графического интерфейса. Ну, это хорошо, но есть много других достойных инструментов GUI (wxWidgets, GTK, Qt и т.д.). Многие из них являются открытыми и кросс-платформенными.
Однако в наши дни мне лучше реструктурировать свои приложения, чтобы предоставить API, а затем построить графический интерфейс поверх него на другом языке. Сила С++ отсутствует в разработке графического интерфейса. По крайней мере, не сегодня...
Я бы выбрал - и порекомендую - VS над Builder.
Ответ 5
Я не использовал С++ Builder в течение многих лет, но по теме отладки С++ Visual Studio 2008 выходит за рамки других IDE и предыдущих VS, особенно если вы используете контейнеры STL, так как это очень просто проверить их содержимое.
Однако, с точки зрения GUI, С++ теперь является языком второго уровня для Microsoft. Путь будущего - это WPF и С++ не поддерживается как XAML-совместимый язык: Мы продолжим инвестировать в С++/CLI, чтобы разработчики выставлять собственные ресурсы С++ в управляемый мир и наоборот. Мы считаем, что чистая .NET-разработка выполняется лучше всего с использованием языка, ориентированного на .NET, такого как С# или VB. Инвестирование в С++/CLI будет в основном в областях взаимодействия с помощью собственного управления.
Итак, чтобы создать современный С++-графический интерфейс, лучшим вариантом может быть VCL - если VCL продолжает делать это, -)
Ответ 6
С++ Builder намного превосходит MS-VS, когда речь идет о разработке на основе пользовательского интерфейса и приложении, ориентированном на базу данных. MFC сосет!! Однако VS имеет лучшие возможности для отладки.
Ответ 7
Второй вариант для С++ Builder, учитывая, что вы уже знаете Delphi. MFC не сильно изменился со времен VS6, поэтому код, написанный с использованием MFC, по-прежнему выглядит как дерьмо. Однако VS изменился и теперь довольно неплохая среда разработки.
Кроме того, имейте в виду, что С++ Builder не является стабильным как линейка продуктов. Раньше бывали случаи, когда он не поддерживался/его будущее не было ясным и т.д. Поэтому у вас есть шанс, если вы хотите построить что-то, что длится.
Ответ 8
Просто, черт возьми, можем ли мы забросить затмение и в микс?
Я просто нашел работу в eclipse лучше, чем работать в визуальной студии.
Если вы используете VS2008 с winforms, поддержка gui осуществляется через шаблоны Windows (обычно из ресурсов), которые являются старой шляпой и вы, вероятно, не хотите использовать. Таким образом, поддержка gui в VS2008 не является особенной.
Что касается инструментария gui, возможно, см. Что такое хороший инструментарий GUI/widgets
Ответ 9
Ну, вы можете использовать Eclipse + MinGW + Qt4 + QT Eclipse Integration, и вы получаете все: отладчик, визуальный графический дизайнер и т.д.
Помните, что Qt4 имеет двойную лицензию: Open Source и коммерческую лицензию.
Также вы можете комбинировать Qt4 с Visual Studio (даже с Express) и использовать все, что дает вам goodnes VS.
Для меня Qt4 - это путь и VS над Builder.
Ответ 10
Когда дело доходит до разработки Windows, в Visual Studio ничего не происходит. Он очень функциональный и имеет отличный отладчик, не говоря уже о обширном сообществе пользователей, которое поможет вам справиться с любыми проблемами, с которыми вы можете столкнуться. Если инструменты разработки для собственной операционной системы не были лучшими для этого, я бы боялся их статуса в мире программного обеспечения. Но если вам не нужны дополнительные функции и абсолютно нужен инструмент RAD с перетаскиванием (помимо MFC), то построитель С++ не слишком отстает. Использование среды delphi для вас - это просто преимущество для вас.
Ответ 11
Одна вещь о последнем С++ Builder от CodeGear - я имею в виду версию 2009 года - это то, что ее обновления действительно могут заставить вас ненавидеть эту среду IDE.
После установки второго обновления я узнал, что if/else блокирует DOESNOT WORK PROPERLY. Он может вводить оператор IF, но не может входить еще один - и это не зависит от ситуации - эта языковая инструкция просто перестала работать вообще. Время, затраченное на то, чтобы выяснить, было около двух или трех часов - и я начал разрабатывать необходимое приложение win32 в VS, я считаю его более надежным, чем продукт CodeGear.
Вторая особенность, мне не нравится, что вы не можете отключить поддержку Unicode и использовать EXSI-версии функций win32 EXPLICITLY (например SendMessageA (...)), что очень скучно.
Я едва успеваю закончить работу, используя VS2008.
Это только мой опыт, выбор сделать ваш.
Ответ 12
Я любил С++ Builder пару лет назад. Это было восхитительно. Это было лучше с VCL, чем с его дрянной MFC. Затем с каждым годом все меняется.
Строитель идет вниз;
1. Builder не обновлен ни с какой реальной функциональностью.
2. Borland отказалась от идеи перезаписи VCL на С++ для использования с Kylix и Builder
3. Ошибка CodeGear и неопределенное будущее Builder вытеснили многих людей из продукта.
VS улучшается;
1. IDE была улучшена много
2. Компилятор из наименее стандартного на платформе Windows стал самым стандартным (не считая GCC на MinGW, конечно)
3. Появилась .NET, и там был Managed С++, а затем С++/CLI, чтобы использовать эту инфраструктуру из С++
У нас появились новые, сильные игроки
1. Затмение
2. Создатель Qt
и новые инструментальные средства GUI
- WxWidgets
- Qt4 теперь имеет также лицензию с открытым исходным кодом
Подводя итог; Builder мертв, потому что Borland
- думал, что Delphi настолько замечательна, что им действительно не нужно что-то еще, чтобы заработать деньги.
- попал в рекламу Java и вложил в нее слишком много ресурсов
- не понимал большой мощности С++ и вместо этого стека к pascal, который всегда был академическим языком без реальных продуктов, созданных с ним
Ответ 13
Попробуй Лазарус. Напишите один раз, скомпилируйте много. Работает на нескольких платформах. Любой, кто приходит из Delphi и Kylix background, будет чувствовать себя как дома с помощью этого инструмента RAD. Что касается будущего, это открытый источник с сильным сообществом, развитие будет продолжаться без коммерческого ограничения.
Ответ 14
2012 почти заканчивается. Я был пользователем Borland С++, а затем перешел на VС++ 6.0. Недавно возникло требование от клиента, который хотел получить графический интерфейс для своего продукта и не нуждался в зависимости от платформы .NET. поэтому я исследовал Embarcadero RAD Studio XE2.
Когда дело доходит до разработки С++ RAD, я думаю, что даже MSVС++ не подходит к ней. Это было похоже на ветер. хотя я обнаружил проблемы при компиляции шаблонов. например, если вы определяете функтор и хотите объединить конструктор с вызовом функтора, который вы не можете сделать на С++ B, вам нужно создать объект, а затем вызвать функтор отдельно. Были и другие проблемы, так как я не мог полностью собрать библиотеку Poco.
Я нашел решение, создав библиотеки DLL в VС++ и вызвав их из интерфейса С++ B. что дает лучшее из того и другого.
Я надеюсь, что Embarcadero скоро догонит стандарты.