Board index » cppbuilder » Re: Borland Bashing- is it productive at this point?

Re: Borland Bashing- is it productive at this point?


2005-04-08 08:28:50 PM
cppbuilder108
"Hendrik Schober" < XXXX@XXXXX.COM >wrote in message
Quote
Yes, but that doesn't necessary help with
your daily template troubles. There is cases
where VC fails with rather simple templates
-- which aren't used by boost. I ran into
quite a few such (and other) bugs using VC.
FWIW with MSVC7.1 I've been able to add a lot more
templates to my projects. Some didn't work with
BCB, some worked but caused my build times to
sky rocket or my exe size to increase too much.
Some worked sometimes, depending on how the
linker felt that day. Additionally, it caused no end
of problems with "cannot create precompiled header"
stuff.
It's not so much that I think Borland should shoot for
100% boost compatability, but if they do, they will
more than likely have to handle templates a lot
better.
 
 

Re:Re: Borland Bashing- is it productive at this point?

Duane Hebert < XXXX@XXXXX.COM >wrote:
Quote
[...]
FWIW with MSVC7.1 I've been able to add a lot more
templates to my projects. [...]
Of course, I have to agree that it already
is pretty good. Nevertheless, that it does
compile a certain state of the boost lib
does not mean it won't {*word*88} on templates
that are as complex as the ones found in
boost.
Schobi
--
XXXX@XXXXX.COM is never read
I'm Schobi at suespammers dot org
"The presence of those seeking the truth is infinitely
to be prefered to those thinking they've found it."
Terry Pratchett
 

Re:Re: Borland Bashing- is it productive at this point?

Daniel James < XXXX@XXXXX.COM >wrote:
Quote
In article < XXXX@XXXXX.COM >, Alisdair Meredith wrote:
>MSVC 7.1 [...]
>IIUC, it still does not check exception specifications (although it
>accepts the syntax to avoid compile-time errors)

[...]

Many people doubt that there's any real use for any specification apart
from "throw()".
Only that the trouble with VC and 'throw()'
is, that in general it should allow some
optimizations, while with VC using it is a
pessimization.
Quote
If offered to bet that exception specifications would be deprecated
before they were widely implemented I wouldn't take you up!
I'm pretty sure they actually are widely
implemented.
Quote
>There is no intention to support 2-phase template lookup

I think that's "no immediate intention" ...

>There is even less interest in supporting the 'export' keyword.

Have you seen recent articles by Herb Sutter and others on 'export' ...
the problem here is that export, as defined in the standard, doesn't
actually offer the things that most people want (and, indeed, that most
people seem to imagine it does). I can't see export being widely
implemented as it is currently defined, either.
I haven't seen any recent articles by Herb
about 'export', but I have seen his article
from one or two years ago, which he also
presented to the std committee. FWIW, this
article seems pretty biased. Also, it was
voted down by almost everyone at that
meeting.
You might want to read something about how
useful 'export' could be in this thread:
groups.google.com/groups
Quote
>My impression is that MS support as much of the standard as they
>intend to, and any missing features will remain missing ...

I think that may be true ... but that that's because they've taken a
(surprisingly) pragmatic approach to the standard and held back on
features that people may actually never use, and that may even
disappear from the language.
Like what? Holding back covariant return
types for about 10 years because people
actually never used them? Or do you mean
holding people back from actually using
boost or other great libs?
Or are you talking of more current
decisions -- like the one not to support
two-phase lookup? This alone causes us a
lot of pain and eats our precious time.
I'd call that stupid, not pragmatic.
Quote
[...]

Cheers,
Daniel.
Schobi
--
XXXX@XXXXX.COM is never read
I'm Schobi at suespammers dot org
"The presence of those seeking the truth is infinitely
to be prefered to those thinking they've found it."
Terry Pratchett
 

{smallsort}

Re:Re: Borland Bashing- is it productive at this point?

Daniel James wrote:
Quote
It is by no means universally accepted that exception specification
checking is sensibly possible in C++.
I didn't say they were useful <g>Simply that they were not
implemented in MSVC last time I checked, although it did accept the
syntax.
Similar to MS approach to export, they have taken the pragmatic route
of focussing on perceived need rather than blind 100% conformance. It
has paid off very handsomely, in that VC7.1 is a world apart from
previous versions.
Quote
Many people doubt that there's any real use for any specification
apart from "throw()".
Note that throw() is just as useless as currently specified. There is
a popular misconception that empty throw allows compilers to make added
assumptions. In fact it is quite the opposite - it forces them to
verify your assumptions at runtime. Hopefully we will be able to do
something about this in C++0x - whenever that is <g>
Quote
I think that's "no immediate intention" ...
Granted I have not spoken with MS engineers for a while, but last time
I brought the subject up they were quite to to explain to me why I
really didn't want them anyway - that they would bring me more trouble
than help and break far more existing code written without this feature
that 'just works' today.
They were clear that they had as much intention at the time of
supporting this as the export keyword. They are always open to
changing their stance due to overwhelming customer demand - otherwise
there were far more useful things to be working on.
AlisdairM(TeamB)
 

Re:Re: Borland Bashing- is it productive at this point?

Hendrik Schober wrote:
Quote
Only that the trouble with VC and 'throw()'
is, that in general it should allow some
optimizations, while with VC using it is a
pessimization.
Popular myth. throw() is always a pessimisation in a conforming
compiler.
AlisdairM(TeamB)
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
mr_organic < XXXX@XXXXX.COM >wrote:
Quote
On Windows, the most conformant compiler right now is Microsoft's,
closely followed by Intel's. That's not likely to change any time soon.
Intel pushes it's compatibility with VC++, and that seems to get lost
in the shuffle, but Intel is definitely more conformant than VC++.
Additionally, Comeau C++ is the most conformant on any platform,
including Windows.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article <42558826$ XXXX@XXXXX.COM >,
mr_organic < XXXX@XXXXX.COM >wrote:
Quote
"Alex Bakaev [TeamB]" < XXXX@XXXXX.COM >wrote in
news:425582af$ XXXX@XXXXX.COM :
>>On Windows, the most conformant compiler right now is Microsoft's,
>>closely followed by Intel's. That's not likely to change any time
>>soon.
>
>I thought Comeau was the most compliant, including Windows.

Could be, I guess; I haven't used it. Herb Sutter is fronting the
Microsoft effort though, and since he's on the standards committee, he's
definitely in a position to make sure the MS compiler is ISO-conformant.
Visual C++ 7.1 is undoubtedly far more compliant than Borland's C++
offering at this time.
Agree, and he and they have done a superb job.
However, it's my belief that VC++ will never be ISO conformant.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
Alisdair Meredith <alisdair.meredith@ XXXX@XXXXX.COM >wrote:
Quote
MSVC 7.1 is a long way ahead of their previous offerings, but I'm not
sure it quite deserves the title 'most conforming'.

IIUC, it still does not check exception specifications (although it
accepts the syntax to avoid compile-time errors)

There is no intention to support 2-phase template lookup

There is even less interest in supporting the 'export' keyword.

When I try various corner cases, Intel is more likely to agree with
what I expect than MSVC, and if Comeau disagrees I usually back Comeau
over my intuition ;?) [although I have filed a couple of bug reports
over the years] GCC also has all these apart from 'export'.

Don't get me wrong, VC7.1 is a terrific leap forwards on compliance.
Bramdon Bray was rightly proud of their Boost support - the target for
VC7.1 was to compile the whole of then-current Boost *without any
workarounds* I believe they were indeed the only vendor to achieve
this.
As mentioned in my other email, MS has done an excellent
job and should be commended. However, I think adding in
about Boost in a same discussion about compliance is changing
the topic, as although Boost does stress compilers, especially
with templates, much of Boost is not directly standards related,
and a good bit of it has nothing to do with it at all.
There has also been aspects of focusing on one compiler and
not another. Note: _None_ of this is to negate the accomplishments
of either MS or the Boost folks.
Quote
Of course, Mertowerks failed because 2-phase lookup was finding genuine
errors in Boost, but that is a different matter ;?)
See above :)
Quote
My impression is that MS support as much of the standard as they intend
to, and any missing features will remain missing - although bugs
reported against other features will continue to be fixed.
I think you're right.
Quote
The effort
is much more focussed on getting C++/CLI right, which is no small
effort in itself!
Agreed.
Quote
We can only hope Borland make some progress on this front - given the
massive effort it took to turn MSVC7.0 into 7.1, I doubt we wil see
quite that scale of upgrade, but hopefully a clear move in the right
direction.
It requires significant effort and expense of any company.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
Randall Parker < XXXX@XXXXX.COM >wrote:
Quote
Alisdair Meredith wrote:
>We can only hope Borland make some progress on this front - given the
>massive effort it took to turn MSVC7.0 into 7.1, I doubt we wil see
>quite that scale of upgrade, but hopefully a clear move in the right
>direction.

Do you have any sense in terms of man-years on what it would take
to make Borland's compiler compile Boost without work-arounds?
"without workarounds" is significant though as last I checked
that was no the case for any compiler, so IOWs, why should it be
the case for Borland? That said, I do know that the Boost folks
made considerable effort to get rid of many such concerns, and IMO
were successful to the extent that that is possible.
Quote
Also, how massive was MS's massive effort? 10 programmers? 50? 100?
My understanding is that MS's problem was never body counts,
but management. Go back and you will find similar discussions
there as you are finding here.
And not only has C++ not gone away, but after a while of
plateau'ing, it seems to be on the rise again by all inidcations,
it's a good time again for any company to re/jump on board,
if not even too late already.
Quote
What would be harder, to make Borland's compiler as compliant
as GCC or to make its generated code as fast as MSVC?
Neither is trivial, so I don't know if there's a clear
answer to a questions like that.
Quote
And how much harder still would it be to make Borland's code
as fast as Intel?
Very much so it would seem, as it would be for any vendor.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
Alisdair Meredith <alisdair.meredith@ XXXX@XXXXX.COM >wrote:
Quote
Randall Parker wrote:
>Do you have any sense in terms of man-years on what it would take to
>make Borland's compiler compile Boost without work-arounds?

Lots! Compilers are not easy things to write, and I'm not sure how
adaptable the codebase would be after all these years - small changes
can easily be big breaks - and features were added to the standard long
after the core architecture was laid down.

Of course I could just as easily be wrong - I certainly hope so <g>-
Those seem like reasonable statements to make.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
vavan < XXXX@XXXXX.COM >wrote:
Quote
On 7 Apr 2005 11:22:38 -0800, "mr_organic"
< XXXX@XXXXX.COM >wrote:

>to fix some glitches. That means that ISO conformance is probably not going
>to be much different than what we're seeing with C++Builder 6.

and how do you think they're going to support boost without improving
conformance?
This is a common perception that supporting Boost is about conformance
and it's not. Of course I'm not saying it has nothing to do with it,
it clearly has lots to do with it.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article <42564c7f$ XXXX@XXXXX.COM >,
Hendrik Schober < XXXX@XXXXX.COM >wrote:
Quote
mr_organic < XXXX@XXXXX.COM >wrote:
>>I thought Comeau was the most compliant, including Windows.
>
>Could be, I guess; I haven't used it.

Comeau + Dinkumware is usually considered to
be as close to the standard as you can get.
Who am I to disagree? :)
Quote
>Herb Sutter is fronting the
>Microsoft effort though, and since he's on the standards committee, he's
>definitely in a position to make sure the MS compiler is ISO-conformant.

He either isn't or he doesn't care.
VC8 won't have two-phase lookup and it won't
have export. () two name the two I miss most
badly.) It will have some compliance bugs
fixed, that plague VC7.1.
But mainly it will have .NET. And this is
also what Herb seemed to have mainly been
doing in the last years. At least it is what
he mainly has been talking about.
I think Herb cares a lot, and I think think he and they have
made significant differences. That said, they also definitely
have their own motivations (but who doesn't), but also their
own thought processes on the issues which I either don't
agree with or understand, but it's not for me to do so probably.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

In article <42565294$ XXXX@XXXXX.COM >,
Hendrik Schober < XXXX@XXXXX.COM >wrote:
Quote
Andre Kaufmann < XXXX@XXXXX.COM >wrote:
>[...]
>I think the man-power of MS development teams is often overestimated.
>And i donīt think that Comeau / EDG teams have much more man-power than
>Borland or Microsoft and they have even more compliant compilers than
>Microsoft.

LOL! EDG has three developers. Three! They
produced the best C++ frontend available.
And I would be surprised if Greg Comeau
had more man-power available. (In fact, I
would /not/ be surprised if he did most
of the stuff by himself.) The same goes
for Dinkumware: I know of Plauger and
Becker and would be surprised if they had
many more developers. (Again, I wouldn't
be surprised if it were just the two by
themselves.)
I think coming up with a good C++ compiler
doesn't take that much man-power. It mainly
takes a few very good developers and a
string will to do it. As the former can
always be replaced by buying a ready-made
solution (EDG, Dinkumware), what it mainly
takes is the latter.
Motivation to provide a truely compliant
C++ compiler is what I consider the main
thing lacking at Borland.
Sounds about right. However, few developers does not always
necessarily equate to less manpower per se. It's nice
to think maybe of being X times more productive than others,
but cutting through red tape etc has its place as well.
In the end, it's still decades of man years and millions
of dollars of expenses.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

"Hendrik Schober" < XXXX@XXXXX.COM >wrote in message
Quote
Of course, I have to agree that it already
is pretty good. Nevertheless, that it does
compile a certain state of the boost lib
does not mean it won't {*word*88} on templates
that are as complex as the ones found in
boost.
Well I guess that was my point. If they can't get it to
work with the boost stuff, it will mean making templates
work better for non boost stuff. It won't mean that all template
problems will be solved but it should mean that many
would be.
 

Re:Re: Borland Bashing- is it productive at this point?

In article < XXXX@XXXXX.COM >,
Daniel James < XXXX@XXXXX.COM >wrote:
Quote
In article < XXXX@XXXXX.COM >, Alisdair Meredith wrote:
>There is no intention to support 2-phase template lookup

I think that's "no immediate intention" ...
That's seems a correct correction formally, but informally
I think Alisdair is as correct. IOWs, hard to process
and conflicting statements have been offered by MS.
Quote
>There is even less interest in supporting the 'export' keyword.

Have you seen recent articles by Herb Sutter and others on 'export' ...
the problem here is that export, as defined in the standard, doesn't
actually offer the things that most people want (and, indeed, that most
people seem to imagine it does). I can't see export being widely
implemented as it is currently defined, either.
IMO, as long as people keep saying this, it will be true.
Have you seen www.comeaucomputing.com/iso/promises.html and others?
Also, most of Herb's articles on export has nothing to do with
export and more to do with C++ in general and every feature
in general (IOWs, the article does not actually offer what it claims
to be doing either, and yet most people believe that it does).
Quote
>My impression is that MS support as much of the standard as they
>intend to, and any missing features will remain missing ...

I think that may be true ... but that that's because they've taken a
(surprisingly) pragmatic approach to the standard and held back on
features that people may actually never use, and that may even
disappear from the language.
We took a pragmetic approach too, and the result was the implementation
of all features. :)
I doubt anything will ever disappear. In fact, the committee
has made no efforts to even deprecate these things,
and furthermore, really doesn't even want to talk about them.
--
Greg Comeau / Comeau for the Mac? Stay tuned.
Comeau C/C++ ONLINE ==>www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 

Re:Re: Borland Bashing- is it productive at this point?

XXXX@XXXXX.COM (Greg Comeau) wrote in news:d366s5$lhv$1
@panix3.panix.com:
Quote
In article < XXXX@XXXXX.COM >,
mr_organic < XXXX@XXXXX.COM >wrote:
>On Windows, the most conformant compiler right now is Microsoft's,
>closely followed by Intel's. That's not likely to change any time soon.

Intel pushes it's compatibility with VC++, and that seems to get lost
in the shuffle, but Intel is definitely more conformant than VC++.
Additionally, Comeau C++ is the most conformant on any platform,
including Windows.
I should probably have done some research before I opened my yap.... I
guess I was trying to make a point about commercial/big-name compilers,
not *any* compiler out there.
But I do think that constantly harping on "conformancy" misses a lot of
the point -- a compiler can be very conformant to the standard, and yet
still suck. It can generate bloated/slow code, it can generate
*erroneous* code, it can have limited configurability, and so on. That's
why it grates on me a bit when people tend to use the conformancy
argument as an indicator of the *quality* of a given compiler. It's one
measure, sure; but it's only one of many. And -- I'd argue -- not even
the most important one.
Just my .02, anyway.
mr_organic