Stroustrup's talk on C++0x

Jari-Matti Mäkelä jmjmak at utu.fi.invalid
Fri Sep 7 08:03:53 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.

Oh, btw, Java 1.5 did break old code. I used to use Gentoo during the
transition phase so I had some experience compiling stuff. :) There were at
least a couple of commonly used libraries and programs that broke. One
minor problem was the new 'enum' keyword. Of course at least Sun Java
compiler allows compiling in 1.4 mode too. I think Gentoo has a common
practice nowadays to compile each Java program using the oldest compatible
compiler profile for best compatibility. IIRC there were also some
incompatible ABI changes because of the generics.



More information about the Digitalmars-d mailing list