2009-06-14 6 views
4

Я изучаю MFC и считаю, что это не так просто.C++ Builder vs Delphi vs MFC

Я много слышал о Дельфах. исследование Delphi привело меня к C++ Builder.

ли C++ Builder предлагает серьезную и эффективную альтернативу C++/MFC? - C++ Builder лучше, чем MFC? - C++ Builder лучше, чем Delphi? (Я много слышал о Delphi)

Может ли кто-нибудь дать мне сравнение между C++/MFC, Delphi и C++ Builder?

Спасибо за помощь.

+2

Если вы исходите из .NET-фона, почему вы рассматриваете нечто вроде MFC, которое более или менее является унаследованным способом написания графических интерфейсов Windows? Кроме того, я предполагаю, что вы знаете, что MFC - это библиотека (которая используется с C++) и что Delphi - это язык? –

ответ

19

Я предлагаю вам отправиться в Дельфы.

Мои плюсы для него было бы

  • Синтаксис мудрая очень легко и читаемым. Вы знаете, что C++ заставляет вас писать «загадочный» и «мистический» коды со странными переменными и тому подобное. Ад! половина C++ имеет префикс «__»

  • Производительность почти такая же, как приложение на C++. Если вы не используете VCL, то он должен быть таким же. Но что такое Delphi без VCL.

  • --Национальные-- приложения. Это означает, что абсолютно ничего не нужно беспокоиться, никаких фреймворков, без времени выполнения. (Вы все еще можете создать приложение с временем выполнения пакетов Тхи)

  • подключения базы данных является как хорошо одна из его сильных сторон ... очень сильных один

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

И этот список можно продолжать ...

Ох, и сделать вывод, Delphi можно сделать все C++/C#/C и т.д. может. ИСКЛЮЧИТЕ драйверы устройств, поэтому, если вы не планируете писать драйверы для принтера или что-то, что делает Delphi.

+1

(и давайте не будем забывать, что компилятор компилятора компилятора C++ является еще более загадочным, чем язык. По крайней мере, по сравнению с Delphi) –

+6

> Ад! половина C++ имеет префикс «__». Какая глупость сказать. Вчера я задавался вопросом о глупостях, которые были написаны о Дельфах, нет необходимости компенсировать это в противоположном направлении. – mghie

+1

ok, Идет в магазин, чтобы забрать мою книгу Дельфы. – Attilah

2

Ваш вопрос смущен. C++ Builder - это просто IDE для C и C++. MFC - это библиотека для программирования на C++. C++ Builder можно использовать с MFC или без него, и наоборот. Delphi, также называемый Object Pascal, является другим языком программирования.

Примечание: Существует whole forum, посвященный использованию C++ Builder с MFC.

+1

Может ли C++ Builder использоваться с MFC? Он поставляется с источниками MFC и с лицензией на развертывание приложений, построенных на библиотеке? Матрица функций http://www.embarcadero.com/products/cbuilder/C-Builder_Feature-Matrix.pdf даже не упоминает MFC. – mghie

+0

Конечно, его можно использовать. Возможно, вам придется сначала приобрести MFC, но как только у вас будет законная копия, вам нечего будет использовать с C++ Builder. –

+2

MFC был когда-то снабжен C++ Builder (до версии 6). Я не знаю, продолжают ли последние версии MFC работать с C++ Builder, но у компилятора C++ Builder все еще есть переключатели совместимости с MSVC, которые позволяют всем компиляторам прибегнуть к использованию MFC. –

4

Если вы работаете с C++ Builder, вы, вероятно, захотите использовать VCL, а не MFC.

Что касается сравнений VCL/MFC или Visual C++/C++ Builder, для них уже существует thread.

4

Вам придется взвесить ваши варианты и немного посмотреть в свой хрустальный шар.

C++ Builder использует Framework VCL, который, несомненно, намного проще и более «визуальный» (то есть, дизайнер поддерживается), чем VC++/MFC

Но если есть шанс, что вам придется работать с .NET (= все хорошие новые API от MS), то вы, вероятно, лучше с VC++, я не ожидаю, что Codegear будет поддерживать C++/CLI в ближайшее время.

Есть и другие подобные соображения, поэтому встречный вопрос: для чего вы собираетесь его использовать?

+2

.NET <> новый API от Microsoft. .NET содержит новые оболочки для Windows API. Вы ничего не можете сделать с .NET, что вы не можете делать уже с C++ или Delphi. Вы не всегда можете делать их одинаково, но вы все равно можете их выполнять. – Mick

6

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

  • Если вы собираетесь использовать приложение, управляемое базой данных с графическим интерфейсом, любым способом перейдите в Delphi.
  • С Delphi можно вызывать C/C++/C# DLL.
  • Delphi пылает быстро и легко, когда дело доходит до разработки собственных приложений Win32. См. RAD's definition.
8

Сообщество Delphi по-прежнему активна (почему вы думаете, что есть Delphi 2009?). Delphi поставляется с богатыми наборами компонентов, и есть процветающие сторонние компоненты. Проработав как в MFC, так и в Delphi в профессиональной среде, я легко могу сказать, что Delphi лучше подходит с точки зрения простоты разработки и общего качества.

Исходя из C#, в Delphi существуют аналогичные понятия. Андерс Хейлсберг уже думал о TComponent, TDataSet, свойствах и событиях (которые стали делегатами). Delphi также может использоваться для использования COM-объектов, записи веб-сервисов, создания механизмов отчетов для пользовательских отчетов.

Но подождите, есть еще. Проверьте DevExpress 'ExpressQuantumGrid.

4

Я предлагаю вам пойти с MFC и оставить программистов Delphi нашим конкурентным преимуществом. ;-)

0

Вы изучаете C++, в то же время? Вы уже знаете Паскаля? Если да, то для обоих Delphi звучит как отличный выбор для меня. Все приложения, которые, я думаю, вы хотите написать с помощью MFC, можно написать с помощью Delphi.

1

Мое предложение было бы забыть о MFC. Эта структура действительно больше не относится к этому возрасту. Это по своей сути тонкая оболочка вокруг Windows API и, следовательно, только немного легче освоить, чем сырое программирование на Windows C. До сих пор мой опыт заключается в том, что написание и обслуживание программного обеспечения, написанного в MFC, занимает в 2-3 раза больше времени, чем в C++ Builder или Delphi. Причиной выбора MFC может быть то, что вы хотите оставаться рядом с Windows API, может быть, потому, что вы вызываете некоторые экзотические функции. Если это так, C++ Builder - лучший выбор. Простота использования близка к Delphi, включая простые в использовании элементы управления RAD, но это позволит вам вызывать любую функцию Windows API прямо на своем родном языке. Несмотря на то, что базовый код тот же, если вы его вызываете из Delphi, вам всегда нужно сделать ментальный переход между Pascal и C++.

Но в конечном счете, я никогда бы не начать новый проект в MFC, но использовать C#/.NET вместо ...

0

I'am работает на C++ Builder 3 лет, и это здорово, после использования VB и VC++ , Очень легко создать красивый современный интерфейс, очень прост в обслуживании программы, хорошая производительность. Но он немного нестабилен, а среда IDE очень медленная и нестабильная. VC++ лучше в среде IDE и стабильности компилятора, быстрее. Но на самом деле MFC ужасен, вполне нормально делать драйвер или системную программу на MFC без интерфейса, но чтобы сделать приятный внешний вид с простой графической программой на MFC, я действительно не представляю, как, черт возьми, требуется время, и как поддерживать!