[comp.lang.c] Microsoft/Borland C/C++

S.Culverhouse@lut.ac.uk (Bizee Bee - Simon C.) (06/06/91)

 Hi,

 I have been programming (on a PC compat.) in C since 1986.  I started by using
 WordStar to write the source and compiling it with Microsoft C V.4.  Since then
 I have moved up to Microsoft C V.5.1 with QuickC included.

 I now use QuickC to prototype, and MS-C 5.1 optimizing compiler to produce the
 final code.  I am now considering taking up C++, as many people have sugested
 it to me.  Because of this, there are a couple of things I would like to know:

 1) What are the main advatages of C++ over C, are there any ?

 2) Are Microsoft bringing out a version of C++ in the near future ?

 I have experimented with Borland Turbo C++ on a friend's PC, to compare it with
 my Microsoft QuickC / Cv5.1.  So far I have been unimpressed with Turbo C++,
 especially with the environment.  Although the code I used, developed under
 QuickC, usually compiled first time, without any problems, on the Turbo C++, I
 found that it took longer to do so, and indicated that it was eating up memory,
 at such a rate, that if I had tried to compile anything larger, it would not 
 have coped.  It also looked to me, as though MS-C actually produced faster code
 especially with screen handling routines.

 In general I still prefer good old Microsoft C, and am relutant to change.  I
 am however open to suggestions and views on the two compilers, and would
 apreciate any mail from other MS / Turbo C users.

 Thank You.


*******************************************************************************
*  Simon C. - the Bizee Bee.                    Elvyn Richards Hall           *
*                                               University of Technology      *
*                                               Loughborough                  *
*                                               LE11 - 3UQ.                   *
*  Mail address:  S.Culverhouse@uk.ac.lut                                     *
*                                                                             *
**************** Ich danke Ihnen fuer Ihre Aufmerksamkeit ! *******************

flint@gistdev.gist.com (Flint Pellett) (06/06/91)

S.Culverhouse@lut.ac.uk (Bizee Bee - Simon C.) writes:

> [comments deleted]
> .....  So far I have been unimpressed with Turbo C++,
> especially with the environment.  Although the code I used, developed under
> QuickC, usually compiled first time, without any problems, on the Turbo C++, I
> found that it took longer to do so, and indicated that it was eating up memory,
> at such a rate, that if I had tried to compile anything larger, it would not 
> have coped.  It also looked to me, as though MS-C actually produced faster code
> especially with screen handling routines.

> In general I still prefer good old Microsoft C, and am relutant to change.  I
> am however open to suggestions and views on the two compilers, and would
> apreciate any mail from other MS / Turbo C users.

I just completed a project where I built a fairly large program (14K lines of
C source) using each of MSC5.1, Turbo C++ 2.0, and Watcom C 7.0.  (These
three are compilers are all now 1 version out of date since MSC has v. 6.0,
Borland has their Borland C++, and Watcom has v. 8.0.)  I won't comment on
C++ advantages, since this was all pure C.  I didn't use MS's QuickC or
Watcom's Express C, or any of the integrated environments, I was using
makefiles and running from the shell prompt.  I found roughly the following
ratios in performance in various areas.  (The ratios are deliberately vague:
relative performance varied from module to module, but if both of them have
a 1.0 then they are roughly the same.)

			MSC	Turbo	Watcom
Code Size		1.0	1.05	0.8
Execution Speed		1.0	1.0	0.8
Compile Time		1.0	0.6	0.9
Debugging Info		1.0	1.4	1.4

In the particular case I had Watcom's size became an even bigger win,
because it became enough smaller that I was able to move to a smaller
memory model and ended up with a program more than 30% smaller and
even faster.  (I would bet there are a lot of programs in the 70K to
90K size that could slip under 64K with Watcom.)  When Turbo compiles
with the debugging flags on the program gets big, and a lot of people
think that means Turbo is not generating code that is as good.  All it
really means is that more useful info to aid debugging is being kept
around.  The ratios on debugging info are subjective, based on my
perception of how useful error diagnostics were to me to correct
coding problems: both Turbo and Watcom (at maximum warning level)
warned me about bad code conditions that MSC ignored.  In one case, a
warning WATCOM generated and the others provided no message on
resulted in an execution time bug.  AT&T SYSV 3.2's lint program did
not even warn me about that one: in fact, I cleaned up several
things lint didn't catch based on Turbo and Watcom warnings.
-- 
Flint Pellett, Global Information Systems Technology, Inc.
1800 Woodfield Drive, Savoy, IL  61874     (217) 352-1165
uunet!gistdev!flint or flint@gistdev.gist.com

s64421@zeus.usq.EDU.AU (house ron) (06/07/91)

S.Culverhouse@lut.ac.uk (Bizee Bee - Simon C.) writes:

> In general I still prefer good old Microsoft C, and am relutant to change.  I
> am however open to suggestions and views on the two compilers, and would
                                           ^^^^^^^^^^^^^^^^^^^^
> apreciate any mail from other MS / Turbo C users.

Well, as you restrict comment to these two compilers, I won't tell
you what I know about some other good ones.

--
Regards,

Ron House.   (s64421@zeus.usq.edu.au)
(By post: Info Tech, U.C.S.Q. Toowoomba. Australia. 4350)

eoo@let.rug.nl (Eize Oosting) (06/07/91)

In article <1991Jun05.183949.2909@lut.ac.uk> S.Culverhouse@lut.ac.uk (Bizee Bee - Simon C.) writes:
>
> Hi,
>
[Stuff deleted]
>
> 1) What are the main advatages of C++ over C, are there any ?
>
There are a couple of things, but the main thing is that you can use objects.
Not the so-called TurboPascal objects, but real objects. That means that you
can define a struct (called class), and add operators to them, so that you can
say:

MyType Foo, Bar;

Foo = Foo * 2 + Bar;

(In TP you still would have to do something like: Foo := Bar.add(Foo.times(2));)

But there are some more advantages. You can make things happen automattically
when you declare vars etc.


> 2) Are Microsoft bringing out a version of C++ in the near future ?
>
I really don't know.

> I have experimented with Borland Turbo C++ on a friend's PC, to compare it with
> my Microsoft QuickC / Cv5.1.  So far I have been unimpressed with Turbo C++,
> especially with the environment.  Although the code I used, developed under
> QuickC, usually compiled first time, without any problems, on the Turbo C++, I
> found that it took longer to do so, and indicated that it was eating up memory,
> at such a rate, that if I had tried to compile anything larger, it would not 
> have coped.  It also looked to me, as though MS-C actually produced faster code
> especially with screen handling routines.
>
Perhaps your last statement is true, but the rest: you are kidding right?
You probably have your QuickC taking only one pass, so that you don't have
any optimisation. Be aware that TC does this in only one pass. And even then
you might compile a little faster, but have you compared Linking time?
Now THERE is a difference, and when I say difference, I really mean DIFFERENCE.
The Microsoft Linker is SLOOOOOOOOOOWWWWWWW.
About the memory eating stuff: Don't let your files grow too big, but separate
it, and make a project (or makefile). That will reduce compile time too.
It's completely unnecessaru and stupid to recompile way along finished code
every time again.

> In general I still prefer good old Microsoft C, and am relutant to change.  I
> am however open to suggestions and views on the two compilers, and would
> apreciate any mail from other MS / Turbo C users.
>
I can understand that you want to stick to what you are used to, everybody does.
Besides, both compilers are good compilers. The difference is not that big, 
however, why weren't you impressed by the new windows on TC++. The new IDE is
a big improvement (when you have a mouse).

  /\__________/\   /\___________________________________________________/\
 /              \ /                                                       \
|   Letteren-    |  Marvin Minsky once defined Artificial Intelligence as: |
|   Faculteit    |   '... the science of making machines do things that    |
| R.U. Groningen |   would require intelligence if done by men'.           |
| The Netherlands|                                                         |
|                |  Does this include formatting a floppy?                 |
| eoo@let.rug.nl |                                           Eize Oosting  |
 \  __________  / \  ___________________________________________________  /
  \/          \/   \/                                                   \/

jott@crash.cts.com (Joan Tine) (06/09/91)

In article <1737@gufalet.let.rug.nl> eoo@let.rug.nl (Eize Oosting) writes:
>In article <1991Jun05.183949.2909@lut.ac.uk> S.Culverhouse@lut.ac.uk (Bizee Bee - Simon C.) writes:
>Perhaps your last statement is true, but the rest: you are kidding right?
>You probably have your QuickC taking only one pass, so that you don't have
>any optimisation. Be aware that TC does this in only one pass. And even then
>you might compile a little faster, but have you compared Linking time?
>Now THERE is a difference, and when I say difference, I really mean DIFFERENCE.
>The Microsoft Linker is SLOOOOOOOOOOWWWWWWW.
>About the memory eating stuff: Don't let your files grow too big, but separate
>it, and make a project (or makefile). That will reduce compile time too.
>It's completely unnecessaru and stupid to recompile way along finished code
>every time again.
>
>> In general I still prefer good old Microsoft C, and am relutant to change.  I
>> am however open to suggestions and views on the two compilers, and would
>> apreciate any mail from other MS / Turbo C users.
>>
>I can understand that you want to stick to what you are used to, everybody does.
>Besides, both compilers are good compilers. The difference is not that big, 
>however, why weren't you impressed by the new windows on TC++. The new IDE is
>a big improvement (when you have a mouse).
>
Additionally, if you keep executable statements out of your header files,
you can use the Borland option to build and use a *.SYM (not like uC) file
which links precompiled header files instead of re-compiling them.
Also, the BC++ package has the Turbo Profiler package which is really 
nice for finding that "10%" of code we hear so much about and making it
faster.
Joan

s64421@zeus.usq.EDU.AU (house ron) (06/11/91)

flint@gistdev.gist.com (Flint Pellett) writes:

>In the particular case I had Watcom's size became an even bigger win,
>because it became enough smaller that I was able to move to a smaller
>memory model and ended up with a program more than 30% smaller and
>even faster.  (I would bet there are a lot of programs in the 70K to
>90K size that could slip under 64K with Watcom.)  When Turbo compiles

Anyone thinking of buying Watcom should first write for a copy of their
user license.  If you can live with that hostile document, go for it.
I wrote to them because their license agreement appeared to demand that
I break Australian law.  They promised to change it, I bought their
compiler, and they broke their promise.  (There is a clause in the
agreement allowing them to break even written promises.)  My silly fault,
but I thought they were just doing the normal thing and covering
themselves; they really _mean_ it!

--
Regards,

Ron House.   (s64421@zeus.usq.edu.au)
(By post: Info Tech, U.C.S.Q. Toowoomba. Australia. 4350)