Topic: Standard' Compilers?


Author: abell@mindspring.com (Andrew Bell)
Date: 1998/01/15
Raw View
On 04 Jan 98 01:03:08 GMT, Jon Werberg
<kidskid@nospam.juno.com.nospam> wrote:
>i would like to hear some opinions on what compilers support
>the most standard features, are closest to the standard,
>however you want to say it!

I use Microsoft Visual C++ 5.0 on a regular basis, and my code has to
compile under Metrowerks CodeWarrior on the Mac, I think version 1.8
(although I understand a 2.0 version is out.)  In my experience, MSVC
is the better of the two, with better template handling, no concerns
about template ordering (which I do see in CodeWarrior), support for
namespaces, and innate bool.  Metrowerks also has some difficulty with
friends and template classes.  MSVC, on the hand, will compile but
ignore certain template specializations.

So if you can deal with having to work under NT, Visual is the way to
go.  It is much improved from 1.52, BTW.

>Clothes don't make the man, however, naked people have little
>or no influence on society.

Oh yeah?  Have you checked the uproar about porn on the internet?

Andrew Bell, Corporate C++ Wizard
abell@mindspring.com
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: bjorn@algonet.se (Bjorn Fahller)
Date: 1998/01/16
Raw View
On Thu, 15 Jan 1998 05:59:40, abell@mindspring.com (Andrew Bell)
wrote:

> On 04 Jan 98 01:03:08 GMT, Jon Werberg
> <kidskid@nospam.juno.com.nospam> wrote:
> >i would like to hear some opinions on what compilers support
> >the most standard features, are closest to the standard,
> >however you want to say it!

Don't know what operating system you're on. If you're on a UNIX system
of some kind, please pay a visit to http://www.kai.com. The KAI C++
compiler is very close to the standards, extremely good support, and
as an extra bonus has the most aggressive code optimiser I've ever
seen (just a happy customer, using KCC on HP-UX.)
   _
/Bjorn.
---
[ comp.std.c++ is moderated.  To submit articles: Try just posting with your
                newsreader.  If that fails, use mailto:std-c++@ncar.ucar.edu
  comp.std.c++ FAQ: http://reality.sgi.com/austern/std-c++/faq.html
  Moderation policy: http://reality.sgi.com/austern/std-c++/policy.html
  Comments? mailto:std-c++-request@ncar.ucar.edu
]





Author: Trevor Yann <TYann@vet.com.au>
Date: 1998/01/07
Raw View
J. Kanze wrote:

<stuff deleted>

> If you are interested in state of the art (or state of the standard),
> you might prefer egcs (also from Cygnus).  Not stable enough for
> production code, but it seems to handle everything I can throw at it in
> terms of new features.
>

Whilst the template support in ecgs is pretty good, it is still lacking
namespace support.
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: Jon Werberg <kidskid@nospam.juno.com.nospam>
Date: 1998/01/04
Raw View
Hello there standard folks,
        I am learning C++, largely through Stroustrup's 3rd
Edition, and i am having difficulty, in that the compilers i
seem to be using (three different ones) are quite old and
don't support A LOT of what he talks about.  Now before i go
out and buy a new compiler, or spend 40 hours downloading one,
i would like to hear some opinions on what compilers support
the most standard features, are closest to the standard,
however you want to say it!  Operating system isn't
particularly important, i have access to DOS and Linux at
home, and Win95, WinNT, and PowerMac at school -- but
preferably something for DOS or Linux.
My experiences are these:
Borland C++ V 3.1
Visual C++ V 1.52
GCC (linux) V 2.7.0 (i think!)
All of these were horrible, none of them had a true bool type,
none supported namespaces, none supported new[] and delete[]
correctly, well, i think you see my point.  So i'd like to
hear what people's experience is with newer Borland stuff,
DJGGP (i keep hearing about this), and whatever else you are
using.  Also, if there is anyone out there on a Mac, is there
anything even close available for a Mac?

Thanx in advance, any help would be appreciated...

                --j0n =) <>< ()(
You can pick your friends, and you pick your nose, but you
can't pick your friend's nose.
Clothes don't make the man, however, naked people have little
or no influence on society.
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: sorry@but.spammed.out (Howard Hinnant)
Date: 1998/01/05
Raw View
In article <Pine.LNX.3.95.980103112141.27907A-100000@silly.com>, Jon
Werberg <kidskid@nospam.juno.com.nospam> wrote:

> particularly important, i have access to DOS and Linux at
> home, and Win95, WinNT, and PowerMac at school -- but
> preferably something for DOS or Linux.

If gnu ever makes it out with 2.8, I hear it's supposed to be good.  My
latest experience is with 2.7.2.  Not bad for the price, but I don't think
you'll be happy.

KAI is supposed to be ahead of the pack on compliance.  I tried it a few
months back, but had insurmountable link-time problems.  This was on linux
and hp.

> using.  Also, if there is anyone out there on a Mac, is there
> anything even close available for a Mac?

CodeWarrior is the way to go on the Mac.  It is also my favorite over all
platforms.  It is also available on Windows.  Nobody is compliant, but
CodeWarrior does pretty good, and is moving toward compliance rapidly.

Whatever you do, go with the latest version.  C++ has changed dramatically
and rapidly over the years.

-Howard
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: pedwards@cs.wright.edu (Phil Edwards)
Date: 1998/01/05
Raw View
Should this thread be redirected elsewhere?  Anyhow...

Jon Werberg  <kidskid@nospam.juno.com.nospam> wrote:
[snip]
+ All of these were horrible, none of them had a true bool type,
+ none supported namespaces, none supported new[] and delete[]
+ correctly, well, i think you see my point.  So i'd like to
+ hear what people's experience is with newer Borland stuff,
+ DJGGP (i keep hearing about this), and whatever else you are
+ using.  Also, if there is anyone out there on a Mac, is there
+ anything even close available for a Mac?

DJGPP == D.J. Delorie's g++ for Wintel platforms.  Get to know gcc pretty
well before trying to install and use DJGPP, is what I've been told.

Try to move from gcc 2.7.0, but if you do, make /certain/ that you get the
most recent version (2.7.2.2).  It still doesn't do a whole lot as far as
the recent Standard goes, because gcc 2.7.2.x is very, very old, and the FSF
has not released the fabled 2.8 yet.  (It is available in unofficial form,
but only through cygwin32 or something like that.)

One thing you might try is to use the very latest gcc, but download your own
version of the STL and #include its directories first.  The one from SGI is
pretty good but not up to the CD2/December 1996 version of the Standard.
There are portability efforts being made for free on a web site that I don't
remember.  Look for a recent post by Boris.  :-)

Do you have any access to other Unix platforms?  If you can get on a DEC
Alpha running Digital Unix, their compiler (CXX) has an excellent STL,
lacking only a true bool, namespaces, and member templates.  I understand
that the compiler for Digital Unix 4.0 adds a bunch, but I don't know what.

I understand that the C++ compiler for Solaris is good, but it's hideously
expensive.  The "CC" under Silicon Graphics machines is also supposed to be
very good, but as it had a /very/ old version of the STL, my project was
quickly moved to a different platform.

Don't know anything about Mac compilers.


Luck++;
/dev/phil

=> If you post a followup, please don't email a copy to me.  I read news
    often enough that replying to things twice is annoying.  But thanks.
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: Ross Smith <alien@netlink.co.nz>
Date: 1998/01/05
Raw View
Jon Werberg wrote:
>
>         I am learning C++, largely through Stroustrup's 3rd
> Edition, and i am having difficulty, in that the compilers i
> seem to be using (three different ones) are quite old and
> don't support A LOT of what he talks about.  Now before i go
> out and buy a new compiler, or spend 40 hours downloading one,
> i would like to hear some opinions on what compilers support
> the most standard features, are closest to the standard,
> however you want to say it!  Operating system isn't
> particularly important, i have access to DOS and Linux at
> home, and Win95, WinNT, and PowerMac at school -- but
> preferably something for DOS or Linux.
> My experiences are these:
> Borland C++ V 3.1
> Visual C++ V 1.52
> GCC (linux) V 2.7.0 (i think!)
> All of these were horrible, ...

I'm not surprised; they're all pretty ancient. Borland and MSVC are both
up to version 5.something now. Both are reported to be reasonably well
up to date (I've used MSVC 5 and can confirm that it has most of the
current standard features; I haven't tried Borland 5 but I gather it's
very similar). Both are strictly Win32, though (MSVC stopped supporting
16-bit systems after 1.52; Borland 5 can still compile 16-bit code but
the compiler itself only runs on 32-bit Windows).

GCC's latest *official* release is 2.7.2, which is still way behind the
times; GCC 2.8.0 has been coming "real soon now" for about two years.
However, Cygnus have derived EGCS from GCC, and this is a *very* good
and up-to-date compiler. (They changed the name for political reasons,
but it's effectively GCC 3.0.) It doesn't support namespaces (apart from
std::), but apart from that it has nearly all of the current standard
features.

Check http://www.cygnus.com/egcs/ for the Linux and other Unix versions,
and http://www.fu.is.saga-u.ac.jp/~colin/gcc.html for the Win32 port.

The other compiler that's supposed to be excellent is Kai C++. Everyone
who's used it seems to agree that it's probably the best C++ compiler
currently in existence; the disadvantages are that it's fairly
expensive, restricted to Unix, and has nasty copy protection.

> DJGGP (i keep hearing about this),

DJGPP is a DOS port of an earlier version of GCC (2.6.something, if
memory serves). If you want up-to-date C++, don't even think about it.

--
Ross Smith (Wellington, New Zealand) ...... <mailto:alien@netlink.co.nz>
      "While I'd like to claim that it was a bitter and satirical
      attack upon the mindless brutalities of war, it was really
      just plain bloody violent..."                 -- Alan Moore
---
[ comp.std.c++ is moderated.  To submit articles: Try just posting with your
                newsreader.  If that fails, use mailto:std-c++@ncar.ucar.edu
  comp.std.c++ FAQ: http://reality.sgi.com/austern/std-c++/faq.html
  Moderation policy: http://reality.sgi.com/austern/std-c++/policy.html
  Comments? mailto:std-c++-request@ncar.ucar.edu
]





Author: "Brian J. McCarthy" <mccarthy@hndymn.zko.dec.com>
Date: 1998/01/05
Raw View
Phil Edwards wrote:
   [ snip ]

> Do you have any access to other Unix platforms?  If you can get on a DEC
> Alpha running Digital Unix, their compiler (CXX) has an excellent STL,
> lacking only a true bool, namespaces, and member templates.  I understand
> that the compiler for Digital Unix 4.0 adds a bunch, but I don't know what.

   [ snip ]

Actually, this month, Digital C++ V6.0 for Digital UNIX will be
released and it will contain bool, namespaces etc.  It has implemented
almost all of the ANSI Standard features.

The compiler is a separate product and is not part of Digital UNIX
base operating system - it will run on Digital UNIX V4.0 and above
systems.

--
-----------------------------------------------------------------------
Brian J. McCarthy                  | mailto:mccarthy@hndymn.zko.dec.com
Digital Equipment Corp. Nashua, NH | DEC C++ Class Libraries
-----------------------------------------------------------------------
---
[ comp.std.c++ is moderated.  To submit articles: Try just posting with your
                newsreader.  If that fails, use mailto:std-c++@ncar.ucar.edu
  comp.std.c++ FAQ: http://reality.sgi.com/austern/std-c++/faq.html
  Moderation policy: http://reality.sgi.com/austern/std-c++/policy.html
  Comments? mailto:std-c++-request@ncar.ucar.edu
]





Author: paul@ra.avid.com (Paul Miller)
Date: 1998/01/06
Raw View
pedwards@cs.wright.edu (Phil Edwards) writes:

>expensive.  The "CC" under Silicon Graphics machines is also supposed to be
>very good, but as it had a /very/ old version of the STL, my project was
>quickly moved to a different platform.

The latest SGI compiler has the latest version of the STL, since Stepanov
is now working on the STL there at SGI. Also SGI's compiler supports all
C++ features - the only thing it lacks is the standard library. It has
the best C++ support I've seen out of any compiler.

--
Paul T. Miller                | paul@elastic.avid.com
Principal Engineer            | Opinions expressed here are my own.
Avid Technology, Inc. Madison - Graphics and Effects Software Group
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: kanze@gabi-soft.fr (J. Kanze)
Date: 1998/01/06
Raw View
Jon Werberg <kidskid@nospam.juno.com.nospam> writes:

|>          I am learning C++, largely through Stroustrup's 3rd
|>  Edition, and i am having difficulty, in that the compilers i
|>  seem to be using (three different ones) are quite old and
|>  don't support A LOT of what he talks about.  Now before i go
|>  out and buy a new compiler, or spend 40 hours downloading one,
|>  i would like to hear some opinions on what compilers support
|>  the most standard features, are closest to the standard,
|>  however you want to say it!  Operating system isn't
|>  particularly important, i have access to DOS and Linux at
|>  home, and Win95, WinNT, and PowerMac at school -- but
|>  preferably something for DOS or Linux.
|>  My experiences are these:
|>  Borland C++ V 3.1
|>  Visual C++ V 1.52
|>  GCC (linux) V 2.7.0 (i think!)
|>  All of these were horrible, none of them had a true bool type,
|>  none supported namespaces, none supported new[] and delete[]
|>  correctly, well, i think you see my point.  So i'd like to
|>  hear what people's experience is with newer Borland stuff,
|>  DJGGP (i keep hearing about this), and whatever else you are
|>  using.  Also, if there is anyone out there on a Mac, is there
|>  anything even close available for a Mac?

No knowledge of the Mac, but for Linux, for LEARNING, I would recommend
egcs.  It's still a bit unstable for any production use -- a new version
every week or so, but it fulfils the role g++ did before it became
stable -- it comes about as close to the full standard as you are likely
to find, at a price that's hard to beat.  A quick visit to
http://www.cygnus.com/egcs/ should give you the necessary information.

And a reminder: while this seems overall a fairly good compiler, and is
certainly up to date, it is NOT (nor does it claim to be) of production
quality.  For that, you should still be using g++ 2.7.2.3 (or your
vendor's compiler, or ...).  Back when g++ was an experimental compiler,
I used to complain about its lack of stability.  Once it became stable,
a lot of others started complaining that it wasn't up to date.  I think
that Cygnus is to be commended for giving us both what we want: an
experimental but radically up to date compiler, and a separate, stable
compiler for a production environment.

--
James Kanze    +33 (0)1 39 23 84 71    mailto: kanze@gabi-soft.fr
GABI Software, 22 rue Jacques-Lemercier, 78000 Versailles, France
Conseils en informatique orientie objet --
              -- Beratung in objektorientierter Datenverarbeitung
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]





Author: kanze@gabi-soft.fr (J. Kanze)
Date: 1998/01/07
Raw View
sorry@but.spammed.out (Howard Hinnant) writes:

|>  In article <Pine.LNX.3.95.980103112141.27907A-100000@silly.com>, Jon
|>  Werberg <kidskid@nospam.juno.com.nospam> wrote:
|>
|>  > particularly important, i have access to DOS and Linux at
|>  > home, and Win95, WinNT, and PowerMac at school -- but
|>  > preferably something for DOS or Linux.
|>
|>  If gnu ever makes it out with 2.8, I hear it's supposed to be good.  My
|>  latest experience is with 2.7.2.  Not bad for the price, but I don't think
|>  you'll be happy.

It depends on what you want to do.  I've seen a number of places use
2.7.2.2 successfully, and at least one uses 2.6.3 without any real
problems.

Earlier versions were a laugh, but the current verion is a high quality,
stable product, which can be used in a production environment.  The one
real weakness is templates, but then, my experience is that you don't
use these much except for the basic containers anyway, and g++ can
handle those (well, almost).

If you are interested in state of the art (or state of the standard),
you might prefer egcs (also from Cygnus).  Not stable enough for
production code, but it seems to handle everything I can throw at it in
terms of new features.

|>  KAI is supposed to be ahead of the pack on compliance.  I tried it a few
|>  months back, but had insurmountable link-time problems.  This was on linux
|>  and hp.
|>
|>  > using.  Also, if there is anyone out there on a Mac, is there
|>  > anything even close available for a Mac?
|>
|>  CodeWarrior is the way to go on the Mac.  It is also my favorite over all
|>  platforms.  It is also available on Windows.  Nobody is compliant, but
|>  CodeWarrior does pretty good, and is moving toward compliance rapidly.
|>
|>  Whatever you do, go with the latest version.  C++ has changed dramatically
|>  and rapidly over the years.

It depends.  For production code, stick to the ARM.  It's about all that
is guaranteed to work everywhere.

--
James Kanze    +33 (0)1 39 23 84 71    mailto: kanze@gabi-soft.fr
GABI Software, 22 rue Jacques-Lemercier, 78000 Versailles, France
Conseils en informatique orientie objet --
              -- Beratung in objektorientierter Datenverarbeitung
---
[ comp.std.c++ is moderated.  To submit articles: try just posting with      ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu         ]
[ FAQ:      http://reality.sgi.com/employees/austern_mti/std-c++/faq.html    ]
[ Policy:   http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
[ Comments? mailto:std-c++-request@ncar.ucar.edu                             ]