Stroustrup's talk on C++0x

Walter Bright newshound1 at digitalmars.com
Thu Aug 30 00:07:40 PDT 2007


eao197 wrote:
> On Wed, 29 Aug 2007 23:15:26 +0400, Walter Bright 
> <newshound1 at digitalmars.com> wrote:
> 
>> eao197 wrote:
>>> Unfortunately I see to D's evolution, perhabs, from 2002 or 2003 
>>> year. It looks as D have never been a stable language.
>>
>>
>> I don't know any language in wide use that is stable (i.e. not 
>> changing). A stable language is a dead language.
> 
> I mean changes in languages which break compatibility with previous 
> code. AFAIK, successful languages always had some periods (usually 2-3 
> years, sometimes more) when there were no additions to language and new 
> major version didn't break existing code (for example: Java, C#, Ruby, 
> Python, even C++ sometimes).

C++ has been around for 20+ years now. I'll grant that for maybe 2 of 
those years (10%) it was stable. C++ has the rather dubious distinction 
of it being very hard to get two different compilers to compile 
non-trivial code without some sort of code customization needed. As 
evidence of that, just browse the STL and Boost sources. While the C++ 
standard has been stable for a couple years (C++98, C++03), it being 
nearly impossible to implement has meant the implementations have been 
unstable.

For example, name lookup rules vary significantly *today* even among the 
major compilers. I regularly get bug reports that DMC++ does it wrong, 
even though it actually does it according to the Standard, and it's 
other compilers that get it wrong.

On the other hand, when C++ has been stable, it rapidly lost ground 
relative to other languages. The recent about face in rationale and 
flurry of core language additions to C++0x is evidence of that.

I haven't programmed long term in the other languages, so don't have a 
good basis for commenting on their stability.

I have been programming in C++ since 1987. It's pretty normal to take a 
C++ project from the past and have to dink around with it to get it to 
compile with a modern compiler. The odds of taking a few thousand lines 
of C++ pulled off the web that's set up to compile with C++ Brand X are 
about 0% for getting it to compile with C++ Brand Y without changes.



More information about the Digitalmars-d mailing list