[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "dselect" replacement team



On 14 Apr 1997, Mark Eichin wrote:

> 
> >> C++'s basic things have been unchaged for what, 6-7 years now?
> 
> *snicker* *snort*  *splutter* *wipe, wipe, the tea off the keyboard*
> 
> Sorry about that, it's not aimed at you, just at the idea that C++ is
> even vaguely "solid" on that kind of time scale.  But, well, 5 years
> ago C++ didn't even *have* templates.  (I know -- Ken Raeburn and I
> were still exchanging email with people at AT&T on the design, and
> subcontracting to Cygnus on the implementation.)

Okay, templates are newer, but I don't really include them in the basic
things :> As far as that goes, I have done alot of work with commercial
C++ compilers in Os/2 + QNX + Dos, and let me say that across the compiles
there is a pretty uniform implementation of C++, yes there are some bumps
in some obscure things but nothing fatal. Today, I can write C++ code with
templates, exceptions and RTTI and be reasonably confident that my code
will compile on at least 4 commercial compilers. If I actuall test with
those 4 compiles I will have code that compiles on them all, without
that much trouble.

> 4 years ago, G++ didn't have *nested types* working; since Cfront 1.0 
> didn't even have the concept, this was fair -- it was introduced in
> Cfront 2.x, and G++ needed a fair bit of internal change to deal (with
> not keeping a global type list, in more subtle ways than seemed
> possible at the time :-)  I know it was 4 years ago because I'd been
> hired by Cygnus at the time, and it was one of my first couple of
> projects (which started out as "there are some bugs in nested types"
> and exploded from there :-)

G++ seems to be just *nasty* with respect to C++, I don't know why it 
lags so far behind or has so many unfixed problems and so on, maybe 2.8 
will fix them maybe it won't, I do not know.

Let me tell you that I ported Muse, a 37K Line C++ program from Os/2 to
LinuxG++ in about a day, my code didn't uncover too many compiler bugs. 
That makes Muse a program that compiles on: 

  G++
  High C++
  IBM VAC++
  Borland C++
  Watcom C++

That I have tried. It uses templates all over the place, no exceptions or
RTTI. I also do not have much in the way of compiler specific ifdefs, the
most major is to #define min/max using >? and _max for G++ and HC.

> Even now there are lots of "corners" of templates that simply don't
> work, even if you stick with G++.  (Don't even *start* to consider C++
> as a language from multiple vendors...)
> 
> And the upcoming (what, 6 months worth of voting left, last I
> checked?) ISO/ANSI C++ standards are adding *new keywords* like "use"
> which are going to break existing code merely by existing :-)  Lots

This is part of the namespace stuff if I recall. I used a compiler which
supported this 12 months ago, High C++.

Jason


Reply to: