Borland c++ Bulider -vs- MS Visual C++

dbarton

Senior member
Apr 11, 2002
767
0
76

For creating basic windows apps, any comments on which is better for a beginner?

 

igowerf

Diamond Member
Jun 27, 2000
7,697
1
76
I've only used an older version of Borland but it was VERY similar to Visual Basic. It was easier to use than even the MFC stuff in VC++ 6.0. So for making basic Windows applications, I'd say Borland is easier. I don't know which is necessarily better though.
 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
Do you have any programming experience at all? Writing C++ Windows apps isn't exactly for the faint of heart. Borland's will probably be a bit easier but you'll find a LOT more examples for Visual C++.

Dave
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
I've had quite a bit of experience with both Borland C++ Builder and Visual C++.

If you're just starting out, and not really sure what to do, I would suggest going with Borland C++ Builder. It's quite a bit simpler in many respects, especially for user interface design. Creating user interfaces with Visual C++ is a pain that you'd be best to avoid as a beginner.

On the down side, C++ Builder seems to have a horrible debugger, and I'm not too fond of the IDE environment. There are also some issues with importing type libraries for COM objects (maybe fixed in new versions?).

To make a long story short... C++ Builder is easier to learn with, but most people prefer Visual C++, including development companies. If you're looking for a job, C++ Builder experience won't help you much. Also, there is alot more support for Visual C++ in terms of community and software. For example, writing directX applications with Borland is possible, but it's not near as easy as in Visual C++, and even there, it's not easy at all. :) C++ Builder has a reasonable community, seeming pretty close and more friendly than the Visual C++ community, but there just doesn't seem to be near as many people.

Depending on what you want to learn or accomplish, you'll have to decide between the two. As a career choice, especially in a game development direction, you will have to switch to Visual C++ at some point, and switching may just be more difficult than learning Visual C++ from the start. Personally, I started with C++ Builder and switched later. Now I prefer Visual C++, but can use C++ Builder if I need it (usually for integration, as my co-workers have this thing for C++ Builder). So either way is going to work out, but if you need to choose the easier C++ Builder to keep motivated while learning, then do that. If you really don't mind taking the time to learn Visual C++ to the point where it will be useful for all but the simplest applications, then go that route instead and skip C++ Builder.

(edit) sorry, added that last paragraph, making things a little longer than probably necessary. :)
 

dbarton

Senior member
Apr 11, 2002
767
0
76
Originally posted by: Apathetic
Do you have any programming experience at all? Writing C++ Windows apps isn't exactly for the faint of heart. Borland's will probably be a bit easier but you'll find a LOT more examples for Visual C++.

Dave

I have experiences in older languages but am now interested in getting going with a modern one.

I guees VB would be nicer for ease, but I want small standalone exe's.

C++ seemed like my best choice, unless you have other suggestions.

 

dbarton

Senior member
Apr 11, 2002
767
0
76

Very helpful actually.

I have no idea if it would be as a career, so maybe the easer route is best, since I'm all alone in learning this..
I thihg that Builder Personal with the tutorial would be a good start, and that the IDE would be nice, but maybe not??
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Major edit... :)

I had listed a couple things that the IDE would help with, but upon thinking about it some more, I would say that without the IDE, both Visual C++ and C++ Builder would be useless to you. Both IDE's include the ability to build user interfaces, as well as helpful wizards to build frameworks for your applications, not to mention integration of help and code-sense. C++ Builder without the C++ Builder IDE would really not be useful to you at all, in my opinion.

I think getting the C++ Builder personal edition is probably a good idea. It's cheaper than the other editions, and any version of Visual C++ or Visual Studio.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Just had a look at the cost for C++ BuilderX personal... $10 seems to be a good deal. :)

The last version I used was C++ Builder 6, and the personal edition of that is $69. C++ BuilderX should do what you want to do, I'm just hoping the work they did to make it run under Windows, Linux, and Solaris isn't going to complicate its use, but for $10 you can't go too wrong.
 

dbarton

Senior member
Apr 11, 2002
767
0
76
Originally posted by: Gaunt
Major edit... :)

I had listed a couple things that the IDE would help with, but upon thinking about it some more, I would say that without the IDE, both Visual C++ and C++ Builder would be useless to you. Both IDE's include the ability to build user interfaces, as well as helpful wizards to build frameworks for your applications, not to mention integration of help and code-sense. C++ Builder without the C++ Builder IDE would really not be useful to you at all, in my opinion.

I think getting the C++ Builder personal edition is probably a good idea. It's cheaper than the other editions, and any version of Visual C++ or Visual Studio.


Your help is REALLY appreciated! I'm a little confused - C++ useless to me without the IDE? Doi you mean i should use a differeent language or that the IDE seems very helpful?

I wrote things in Clipper way back when and it was all so much easier.. Why are modern languages so painful?

I am also confused by Builder 6 and uBilderX and what the diff is. Borland site is very unclear, and it seems like that $10 is for an CD of the evaluation version that I could downlaod for free.

What is BuilderX? Nowhere does it really say..
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Alright, skip the $10. I just checked Borland's site, and it appears you can download C++ BuilderX just by registering in their system. They ask for you to let them contact you about products, but I believe the version of C++ BuilderX that you download is not just a trial, but infact is a full working copy with the advanced features removed. Just a note... their website and registration system was giving me alot of troubles earlier, but I think this might be because my account was quite old. Hopefully creating a new account is relatively painless.

As for exactly what C++ BuilderX is... I believe it's an update on their C++ Builder 6 that is meant to incorporate their cross-platform code they had developed for "Kylix". Kylix was meant to allow C++ Builder (actually mostly Delphi) to work on linux. You should be able to use C++ BuilderX in place of C++ Builder 6, and since the personal edition is a free download, hopefully it's a good start.

Now... As for needing an IDE. I think I misunderstood what you originally wanted to accomplish. I assumed you wanted to create windows GUI applications, which is what you would mostly use C++ Builder or Visual C++ for. If you would just like to learn C++, then by all means, skip the IDE and the complicated mess that is windows programming, get a compiler, and go nuts. Borland offers there compiler for free, and there are other free compilers you can use instead.

Why does the IDE matter? ... well, it's a little complicated. Windows is largely C. Most API calls are all C function calls. The APIs are large and complicated, and not all that pleasant to deal with. In order for you to sit down with just a text editor and a compiler, and be able to write a windows GUI application, you would need to know how windows works internally. How messages are passed, how windows are created and destroyed, etc. It's not really all that pleasent. This is where Visual C++ and C++ Builder come in. Both of these provide their own extensions on top of what's available in the kernel. Visual C++ provides MFC (Microsoft Foundation Classes) that make dealing with UI elements a little easier, and give you handy classes for alot of things. C++ Builder has VCL (Visual Component Library) which provides an assortment of things, similar to MFC. They probably aren't anywhere near equivalent if you look at them as a whole, they share alot of the UI stuff. It's these frameworks integrated with the IDE that make creating windows GUI applications with C++ alot easier. Without them, you need a pretty solid understanding of the way windows works before you can write anything useful. Unfortunately, with them, you need to understand what the frameworks do for you to really write powerful software, but it's atleast a little easier to get started.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Looking a little closer at C++ BuilderX, I'm still not sure whether the downloadable version is a trial or not... their website is really not that great, and the information they give on their products is lacking.

I'm downloading whatever version is available for download at the moment, and I'll hopefully be able to install it tomorrow and let you know whether it's the full personal edition or some sort of time-limited trial. Considering their online shop lists the personal edition for $10 and doesn't clearly say it's a trial, I'm hoping the downloadable version is also not a trial.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,001
126
I really enjoy using MS Visual C++. I haven't used Borland's but I presume that Microsoft's compiler should be better at optimizing code than Borland's.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Visual C++ with MFC is actually almost as easy to use as VB if you use the AppWizard to create a "dialog-based" application. Then your main window is a dialog box that you can edit visually with the resource editor, and it's very easy to attach code to button clicks with ClassWizard.

In that kind of app you let MFC simplify the Windows message handling for you, but you can still make all the Win32 API calls that you want. It's the "best of both worlds" - join us! ;)
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Just for reference, as it doesn't add much...

C++ Builder is alot easier to deal with in regards to user interfaces. The controls in VCL are much simplified to what is available in MFC, and an understanding of the overall structure of VCL isn't need, like with MFC and the document/view models, etc.

A good example is a tab control. In visual C++ you have to create the tab control and then add code to set up your pages, etc. In C++ Builder you can drop the tab control on the form, and add/manipulate tabs directly on the form instead of creating different dialogs for each form and attaching them to your tab control.

 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I haven't used Borland's but I presume that Microsoft's compiler should be better at optimizing code than Borland's.

Gotta love blind assumptions.

Visual C++ with MFC is actually almost as easy to use as VB if you use the AppWizard to create a "dialog-based" application. Then your main window is a dialog box that you can edit visually with the resource editor, and it's very easy to attach code to button clicks with ClassWizard.

Not that it's terribly difficult once you figure it out, but VC does require more steps, and it's a lot harder to figure out by just clicking around randomly, than VB or BCB to attach code to UI objects.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Just got a chance to install and try C++ Builder X personal edition this afternoon... really not impressed. It seems that C++ Builder X is a completely new IDE system from the old C++ Builder. They tried to make it look about the same, but since it's a java application now, some things are different.

Also, C++ Builder X doesn't seem to come with any of the VCL stuff that the old C++ Builder did. When you use the wizard to start creating a GUI application, it asks you what compiler and toolset you'd like to use, and for windows, Minimalist GNU Toolkit and Borland compiler are the only available options (most likely limited by the fact that this is the personal edition). When you click OK and get it to add a file to the project to help you start out, what you get is a single CPP file containing a WinMain function that just returns 0. In order to use this to actually generate a GUI application, you would need to modify WinMain and basically build up a win32 app from scratch, which isn't alot of fun.

I was also unable to find any sort of UI resource editor included with the IDE. I'm guessing that the Minimalist GNU Toolkit that it wants me to use is a GUI component toolkit of some sort, but since I have no experience with it, I've got no idea how to start creating a UI.

So, basically, to make a long story short, C++ Builder X may not be the way to go to begin learning how to create simple windows GUI applications. It WILL work, but you will have to figure out how win32 applications work before you'll be able to do anything. C++ Builder 6 would be much better.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
> Just got a chance to install and try C++ Builder X personal edition this afternoon... really not impressed
I was just reading in Dr Dobbs how Borland is abandoning Kylix users, Delphi users, and VCL users by no longer updating those products. Competition is a good thing, but right now Borland isn't looking very competitive.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Not at all if that's the case. The changes they've made to C++ Builder X could be alright if they managed to use the Minimalist GNU Toolkit (not quite sure what this is, but I assume it's a UI toolkit) and possibly other cross-platform components to re-create what C++ Builder/Kylix used to be, but in a much more easily ported form.

They need to do some serious work to make things much simpler across all of the supported platforms though, and provide the same UI tools that they did in previous Delphi/BCB environments.

This news is a little disappointing as I really liked how simple BCB was for some things.
 

dbarton

Senior member
Apr 11, 2002
767
0
76

So as I understand it, BuilderX dropped VCL which makes it back to being very hard to make a GUI..

Seems odd? I thought all other points make it look like the next step forward and that regular Builder is maybe being phased out..

Is there an alternative to VCL? Should I stat new with Builder6 even though it seems to be the past and X soon to be the way forward?

The choices are getting harder!
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Ya, by the looks of it, if C++ Builder with VCL is going away, then maybe C++ Builder isn't what you'd want to learn. C++ Builder 6 would still let you create applications and learn C++ in general, though.

Depending on what your goals are, there are still lots of options. You could still go with C++ Builder 6 to get a basic understanding, and then move on to something else in the future if you decide to continue developing windows GUI applications with C++. Or, you could go with Visual Studio .NET instead and work in C++/C#/Visual Basic. C# and Visual Basic are quite simple for creating powerful windows GUI apps, and C++ can be as well, although using C++ and .NET is a little tricky.

I think it really comes down to what you want to accomplish, be it learning C++ or creating windows GUI apps with ease.
 

randumb

Platinum Member
Mar 27, 2003
2,324
0
0
Originally posted by: Gaunt
Not at all if that's the case. The changes they've made to C++ Builder X could be alright if they managed to use the Minimalist GNU Toolkit (not quite sure what this is, but I assume it's a UI toolkit) and possibly other cross-platform components to re-create what C++ Builder/Kylix used to be, but in a much more easily ported form.

They need to do some serious work to make things much simpler across all of the supported platforms though, and provide the same UI tools that they did in previous Delphi/BCB environments.

This news is a little disappointing as I really liked how simple BCB was for some things.

The Minimalist GNU Toolkit (aka MinGW) is actually an open source Windows port of the GCC compiler toolkit. It's also famous for being used in the free C++ IDE, Dev-C++.
 

Gaunt

Senior member
Aug 29, 2001
450
0
0
Shows how much experience I've got with building apps for anything apart from Windows. :) I was really hoping that MinGW was a UI toolkit, because if it wasn't, then C++ Builder X wasn't going to provide any UI help. Also, I thought GCC was portable to windows alone, I didn't realize there was a seperate project that did that. I suppose I probably should have checked into it a little further.

So basically, C++ Builder 6, you told the wizard you wanted a GUI application and it gave you a form you could drop controls on and set up your event handlers, and C++ Builder X gives you an empty WinMain function and leaves you to add your UI elements completely through code, and without the help of some sort of toolkit... nice.
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
In my opinion, if you're JUST starting to get into Windows development, I would seriously check out C# and just do everything in the managed code. Raw C/C++ Win32 programming isn't all it's cracked up to be, and in my personal opinion, the class libraries that try to hide the ugly Win32 details from you (like MFC or Borland's toolkit) simply muddy the waters even further.

The .NET Framework has a vastly simplified Windowing library (System.Windows.Forms), and it was designed to be object-oriented from the start without any of the clunkiness that hinders Win32 and even MFC. In my opinion, the .NET framework has several advantages:

First of all, you can download the .NET Framework SDK (CLR, compiler, and tools) for free from Microsoft Microsoft .NET Framework SDK Version 1.1

Second, the entire Windows programming juggernaut is shifting to managed code (mostly C#, VB.NET, and ASP.NET); this includes authors, tool vendors, and of course Microsoft itself.

Third, once you get your feet wet with the free SDK, you can always go purchase a copy of Visual Studio .NET 2003, which has *the* best IDE for developing .NET framework applications around, and then you'll get the VS.NET debugger, which is amazing.