Tutorial :C++ Builder vs Delphi vs MFC


I am learning MFC and find it not that easy to use.

I've heard a lot about Delphi . researching on Delphi lead me to C++ Builder.

does C++ Builder offer a serious and good alternative to C++/MFC ? is C++ Builder better than MFC ? is C++ Builder better than Delphi ? (I've heard many goood things about Delphi)

can any one give me a comparison between C++/MFC, Delphi and C++ Builder ?

Thanks for the help.


I'd suggest you go Delphi.

My pros for it would be

  • Syntax wise it is very easy and readable. You know C++ makes you write "cryptic" and "mystic" code with strange variables and such. Hell! half of c++ is prefixed with "__"

  • Performance is almost the same as a C++ application. If you don't use VCL then it should be the same. But what's Delphi without VCL.

  • --Native-- applications. Which means absolutely nothing else to worry about, no frameworkss, no runtimes. (You can still build an app with runtime packages tho)

  • Database connectivity is aswell one of it's strong points... very strong one

  • Powerfull visual designer you can build almost all of your application's interface at design-time.

And the list can go on...

Oh and to conclude, Delphi can make everything C++/C#/C etc can. EXCEPT device drivers, so if you don't plan to write drivers for a printer or something Delphi is the way to go.


Delphi community is still active (Why do you think there is Delphi 2009?). Delphi comes with rich sets of components, and there are thriving third party components. Having worked on both MFC and Delphi in professional setting, I can easily say that Delphi is way better in terms of ease of development and overall quality.

Coming from C#, there are similar concepts in Delphi the Anders Hejlsberg has already thought about like TComponent, TDataSet, properties and events (which became delegates). Delphi can also be used to consume COM objects, write Web Services, write report engines for custom reports.

But wait, there's more. Check out DevExpress' ExpressQuantumGrid.


You might want to check this link. I can't comment on advantages of MFC over Delphi due not having used it, so I'm skipping first two question.

  • If you're going to do GUI database driven application, by any means go with Delphi.
  • It's possible to call C / C++ / C# DLL from Delphi.
  • Delphi is blazing fast and easy when it comes to developing Win32 Native applications. See RAD's definition .


If you're working with C++Builder, you will probably want to use VCL, not MFC.

As for VCL/MFC or Visual C++/C++Builder comparisons, there is a recent thread for that already.


You'll have to weigh your options and look into your crystal ball a little.

C++ Builder uses the VCL Framework which is undoubtedly a lot easier and more 'visual' (ie, designer supported) than VC++/MFC

But if there's a chance that you'll have to work with .NET (= all the nice new API's from MS) then you'll probably better of with VC++, I don't expect Codegear to support C++/CLI anytime soon.

There are other such considerations, so the counter-question is: What are you going to use it for?


I suggest you go with MFC and leave us Delphi programmers our competitive edge. ;-)


Your question is confused. C++ Builder is just an IDE for C and C++. MFC is a library for C++ programming. C++ Builder can be used with or without MFC, and vice-versa. Delphi, also called Object Pascal, is another programming language.

Note: There is a whole forum dedicated to using C++ Builder with MFC.


You may want to look at these SO questions.
Although not a comparison with C++/MFC, they highlight a lot of Delphi qualities.


What language do I use for my project?


My suggestion would be to forget about MFC. This framework is really no longer of this age. It is by nature a thin wrapper around the Windows API and therefore only slight easier to master than raw Windows C programming. My experience so far is that writing and maintaining software written in MFC takes about 2 to 3 times more time than in C++Builder or Delphi. A reason for choosing MFC could be that you want to stay close to the the Windows API, maybe because you call some exotic functions. If so, C++Builder is a better choice. The ease of use is close to Delphi, including the easy to use RAD controls, but it will allow you to call any Windows API function directly in it's native language. Even though the underlying code is that same if you call it from Delphi you always have to make a mental switch between the Pascal and C++.

But ultimately I would never start a new project in MFC but use C# / .NET instead...


Are you learning C++ at the same time? Do you already know Pascal? If yes to both then Delphi sounds like a great choice to me. All the apps I imagine you'd want to write with MFC can be written using Delphi.


I'am working on c++ builder for 3 years now, and it is great after using VB and VC++. Very easy to create nice looking modern interface, very easy to maintain program, good performance. But it's slightly unstable, and the IDE is very slow and unstable. VC++ is better in IDE and compiler stability only, faster. But really MFC is horrible, it's ok to make a driver or a system program on MFC without interface, but to make a nice looking with easy GUI program on MFC, really i can't imagine how the hell it takes time, and how to maintain!

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »