From: preney@cs.uwindsor.ca (Paul Preney)
Newsgroups: comp.lang.c++
Subject: Re: Best C++ compilier for Ibm
Date: 13 Aug 1992 16:39:16 GMT
Organization: University of Windsor, Ontario, Canada

In article <713678139.F00001@csource.oz.au> Benjamin.Tse@f550.n635.z3.fidonet.org (Benjamin Tse) writes:
>Hi, just about to get into C++ programming and wondered which compiler was the
> best for the Ibm.
>
>I've seen the Borland C++ 3.1 and its Turbo C++ and wondered what the
> difference was. I have little experience in C programming although I have been
> using Pascal and BASIC (when desperate). I need a starting point for using C
> in *both* Dos and Windows - any suggestions ?
>
>Also, what's this Application Frameworks thing that can be bought with Borland
> C++ ?
>
>Info sought,
>Benjamin
>
> * Origin: Empire BBS +61(3)592-5662 (3 lines) (3:635/550)

I have been programming with Borland C++ (Professional w/Application)
Frameworks ever since Borland released Turbo C++ Professional.
Prior to that I simply used Microsoft's QuickC compiler.

Borland C++ (v3.0+) is an optimizing compiler which features both
command-line compiling and compiling in an Integrated Debugging Environment
(IDE). This, of course, is available under DOS. In Windows, the DOS version
is available running in a DOS Shell window OR you can use the compiler
under Windows and Turbo Debugger. The compiler under Windows is called
Turbo C++ and is not a full implementation of Borland's DOS counterpart.
In Borland C++ v3.1, however, the Windows compiler is identical (with small
differences because of running under Windows) to the DOS environment.
There is also an elaborate Resource Workshop which allows one to design
menus, dialog boxes, accelerators, string tables, etc. in Windows to be
linked into your Windows program. Also, v3.1 of the compiler supports 32 bit
compiling and the execution speed increase will be quite noticeable in your
programs.

Basically, in Borland C++ w/Application Frameworks comes with the following:
	DOS IDE (which can compile for Windows as well)
	Turbo Debugger
	Turbo Profiler
	Turbo Assembler
	Windows Compiler
	Turbo Debugger for Windows
	Turbo Profiler for Windows
	Resource Workshop

	and dozens of both DOS and Windows utilities too numerous to mention.

	plus
		Turbo Vision (for DOS)
		ObjectWindows (for Windows)
		and the run-time source library which is in C, Assembler,
		and C++.		

So, what are TurboVision and ObjectWindows?

Well, if you've seen the DOS IDE for Borland you've seen a TurboVision
application. It is an elaborate DOS event-driven window manager supporting
just about everything one would want on the text screen.

Likewise, for ObjectWindows, it is another elaborate window manager designed
for Windows to cut the @#@$%@! (my apologies) out of Windows programming.
First of all, ObjectWindows provides default handling of all control objects
and window objects. This means that if you need a scrollbar you do not need
to define from scratch how you application will handle it. All you have to
do is create the scrollbar (there are several ways of doing this depending on
need) and pass it an ID value which the bar can be identified with. That is
all you need to do. If you need to set the maximum and minimum values for the
scollbar well, you call TScrollBar's member functions which do precisely that.
If you want to make your own type of scrollbar then all you have to do
is override TScrollBar's default functions. For windows, there are features
allowing windows to automatically control scrolling themselves and the like.
You really have to see it in action to fully understand and appreciate the
depth and thought that went into the design of ObjectWindows & TurboVision.

(NOTE: TurboVision is ObjectWindows in DOS with some minor diferences in
message handling and window/control creation.)

Well, I hope I did not talk over your head. The Borland C++ package is an
elaborate package and is probably the reason why they received PC Magazine's
editor's choice award for it. If I were you, I would buy an excellent book
on C++ as Borland's documentation is a little too much too soon to learn
from. You'll also find the example programs excellent in assistance once
you get on the road to programming. Also, personally, if you are going to
program in Windows, I would do it in ObjectWindows along with the
Resource Workshop, it is far more simpler and quicker to develop the
application then messing around with 60 zillion pointers to create and
load your windows, controls and dialog boxes. You program also becomes MUCH
MORE modularized -stay away from too many global variables.

Since, as you stated, you are used to Pascal and BASIC and do have some C
programming experience, you'll probably find C++ an interesting "fellow" to
learn. You'll find that at first you'll be writing C code in C++ with little
C++ tidbits for experimentation. Familiarize yourself with Object oriented
programming: What is it? What are the concepts? etc. And then, with 
some hands-on experience you'll find it easier and easier to program in C++.
(NOTE: C++ is strongly typed and most compilers with complain about passing
an unsigned int to a function that accepts a signed int, and at first this
may be annoying.)

Now as far as Microsoft's C/C++ compiler well I heard that it was not as
in-depth as Borland's C/C++ stuff. As for speed, I understand that they
are pretty close BUT I read somewhere that Borland C/C++ can compile C++
code up to 4 times faster than Microsoft's.

I hope I was of assistance.


Paul Preney
University of Windsor, Ontario Canada
preney@server.uwindsor.ca