Stroustrup's talk on C++0x

Don Clugston dac at nospam.com.au
Tue Sep 4 01:34:14 PDT 2007


eao197 wrote:
> On Thu, 30 Aug 2007 15:44:25 +0400, 0ffh <spam at frankhirsch.net> wrote:
> 
>> eao197 wrote:
>>> 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).
>>
>> I rather think, that a "new major version" of any language that "doesn't
>> break existing code" could hardly justify it's new major version number.
>> A complete rewrite of the compiler, e.g., would justify a majer new
>> compiler version, but not even a teeny-minor new language version.
> 
> Java 1.5 (with generics) and C# 2.0 ware major versions, but didn't 
> break old code.

Actually, I think new features that make old code obsolete (even if it still 
compiles and works perfectly) are even more of a problem -- breaking "mental 
compatibility". I don't think Java and C# have avoided this. It's certainly been 
a problem for C++ and D.
If you get 500 compile errors you need to fix, that's annoying and tedious. But 
when your code uses a technique that still works, but isn't supported by recent 
libraries, you're locked into the past forever.



More information about the Digitalmars-d mailing list