Alex Rivera | Logout

C++ Builder or Visual Studio for native C++ development?

Asked 2009-01-12T23:15:44.450
15

I've decided I want to get more into native code development with C++. I'm trying to decide if I would be better served using CodeGear C++ Builder 2009 or Visual Studio 2008. I currently use Delphi 2007, so I'm very comfortable with C++ Builder's IDE (its the same as Delphi), as well as the VCL and RTL.

I've never been a big fan of MFC (from the first time I played around with it in the VS 6.0 days), but haven't taken a close look at it since then.

I'm interested in hearing from some experts that have experience with both IDE's, whether they are the most recent versions or not.

Right now, I'm leaning towards C++ Builder because I believe the VCL is much more robust and easier to work with than MFC --- but as I said, it's been a while since I've used MFC. I'm not interested in building programs that rely on the .NET Framework because I'm partly teaching myself native development. Is MFC still king for Windows C++? Or is WTL or ATL the big thing?

Any C++ gurus out there want to share their opinions?

EDIT: I understand MFC is not the only gui toolkit for Visual Studio. However, I'm looking for some recommendations based on GUI toolkit + IDE. For C++ Builder, there is only 1 real option, which is C++ Builder + the VCL. For VS 2008, it's VS + MFC/ATL/WTL/QT....confusing for me since I don't know much about them.

Edit
Report

4 Answers

16

Coming from Delphi, you'll find the VCL straightforward to use with C++ Builder. There are a few oddities, like C++ doesn't hide the fact that TObjects are all really pointers (which Delphi hides from you), and some things like array properties are accessed differently.

Two or three years back, I was looking for any way out of C++Builder, but now, with recent releases (and Embarcadero's purchase of Codegear), I'm happy with the product and the direction.

You'll find the number of string types and the assorted potential incompatibilities quite painful with C++Builder, but you'll get used to it! (std::string, char[], wchar_t[], TCHAR, AnsiString, WideString, UnicodeString and String to name a few)

Personally I'd vote for C++ Builder - because of two-way RAD and the VCL, although it may not be the best way of learning modern C++ idioms.

answered 2009-01-12T23:25:24.057
4

C++ Builder is far superior than MS-VS when it comes to UI based development and Database oriented application. MFC sucks!! However VS has better debugging capabilities.

answered 2010-02-25T10:51:27.163
2

I loved C++ Builder a couple of years ago. It was fantastic. It was a way better with its VCL than VS with its crappy MFC. Then things have been changing with every year.

Builder has been going down; 1. Builder hasn't been updated with any real functionality. 2. Borland abandoned the idea of rewriting VCL in C++ for use with Kylix and Builder 3. CodeGear mess and uncertain future of Builder put many people off the product.

VS has been getting better; 1. IDE has been improved a lot 2. Compiler from the least standard-compliant one on windows platform became the most standard-compliant (not counting GCC on MinGW of course) 3. .NET emerged and there was Managed C++ and then C++/CLI to make it possible to use this framework from within C++

We got new, strong players 1. Eclipse 2. Qt Creator

and new GUI toolkits

  1. wxWidgets
  2. Qt4 now has also open source license

To summarize; Builder is dead because Borland

  1. was thinking Delphi is so wonderful they don't really need anything else to earn money
  2. has fallen into Java hype and invested too much resources in it
  3. didn't understand great power of C++ and instead stack to pascal, which has always been academic language with no real products created with it
answered 2009-05-04T11:39:19.220
0

2012 is Almost ending. I was a Borland C++ user and then swithced to VC++ 6.0. Recently there was a requirement ffrom a client who wanted a GUI end for their product and didnt want the dependency on .NET framework. so I explored the Embarcadero RAD Studio XE2.

When it comes to C++ RAD development, I think not even MSVC++ comes close to it. It was like a breeze. although I found problems when compiling templates. for instance if you define a functor and want to combine the constructor with the functor call you cant do it in C++B, you have to create an object and then call the functor seperately. There were other issues also as I could not fully compile Poco library.

I found the solution by creating the DLLs in VC++ and calling them from the C++B frontend. that gives the best of both.

I hope that Embarcadero catches up with the standards soon.

answered 2012-11-18T04:27:27.537

Your Answer