views:

1063

answers:

11

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.

+2  A: 

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.

Matthew Flaschen
Can C++ Builder really be used with MFC? Does it come with the MFC sources, and with the license to deploy applications built on the library? The feature matrix http://www.embarcadero.com/products/cbuilder/C-Builder_Feature-Matrix.pdf doesn't even mention MFC.
mghie
Of course it can be used. You may have to purchase MFC first, but once you have a legal copy, there's nothing stopping you from using it with C++ Builder.
Matthew Flaschen
MFC was once supplied with C++Builder (until v6). I don't know whether recent MFC versions still work with C++Builder, but the C++Builder compiler still has the MSVC Compatibility switches which enable all the compiler quirks the MFC used to rely on.
Moritz Beutel
The question isn't all that confused, although the tile looks a bit strange. C++Builder is tightly linked with using VCL. So it's a question for which Framework first, supporting tools next.
Henk Holterman
I disagree. Questions like "is C++ Builder better than Delphi" clearly indicate he was confusing tools and languages.
Matthew Flaschen
Matthew Flaschen,I'm not confusing tools and languages. I do know that MFC is a library used with C++ and VCL used with Delphi/C++. refer to Henk's answer.
Attilah
+4  A: 

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.

Moritz Beutel
+4  A: 

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?

Henk Holterman
.NET <> new API's from Microsoft. .NET contains new wrappers for the Windows API. There is nothing you can do with .NET that you can't do already with C++ or Delphi. You can't always do them in the same manner, but you can still do them.
Mick
+6  A: 

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 .
Ertugrul Tamer Kara
+8  A: 

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.

eed3si9n
+13  A: 

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.

Aldo
(and let's not forget the compiler errormsgs of a C++ compiler are even more cryptic than the language. At least compared to Delphi)
Marco van de Voort
> Hell! half of c++ is prefixed with "__" What a dumb thing to say. Yesterday I wondered about the stupid things that were written about Delphi, there's no need to make up for it in the opposite direction.
mghie
ok, going to the store to pick up my Delphi book.
Attilah
I agree mghie. That's confusing poor style choices in some C++ programs with features of the language itself.
Matthew Flaschen
+1  A: 

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

dummzeuch
+2  A: 

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

http://stackoverflow.com/questions/179319/what-language-or-rad-ide-do-you-recommend-for-building-shareware

http://stackoverflow.com/questions/751993/what-language-do-i-use-for-my-project

François
A: 

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.

TheArtTrooper
+1  A: 

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...

Cees Meijer
A: 

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!

Fady Nabil