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