
On 11/6/2012 1:13 PM, Bo Persson wrote:
Edward Diener skrev 2012-11-05 03:19:
Your rant against things like C++/CLI and C++/CX is ill-founded IMO. Language vendors certainly have the right to create a new language from an existing language for their own use and their customer's use. I think you are being intolerant to think otherwise. If Microsoft has said anywhere that C++/CLI or C++/CX is standard C++ I would like to see it.
The rant is really about them saying that they are "Fully Committed to C++", and pushing "A C++ Renaissance". Then it turn out they deliver C++/CLI and C++/CX, but cannot deliver new C++11 feature because of "lack of resources" and "missing the deadline".
Doesn't sound very committed to me!
My rant is actually not specifically about MS and C++11 as much as MS and C++ generally (including C++11, but also including C++98 facilities which they have yet to implement or implement correctly). What MS is doing (and, less frequently, saying) is, "We will implement all of C++ except those things which we don't want to implement, we don't like, or we don't feel are important." The attitude is like the kid on the playground that doesn't get his way so he takes his ball and goes home. What it shows is a *lack* of commitment to the standardization process by flouting the standard whenever they disagree with it. I.e. standardization is important so long as "we" agree with whatever is standardized. All I want from MS WRT C++ is what I said before. A commitment to implement all of standard C++ (not C++ sans XYZ) and then fulfilling that commitment in the limit. By that last, I don't mean that I am demanding that they have all of C++ implemented by tomorrow or by their next release, but that they are, in each release, improving by a margin that is reasonable given the length of the release cycle and indicative of their desire to fulfill the commitment. Specifically, I do *not* mean avoiding implementing XYZ by improving so lethargically that a new standard is published along with a new set of "interesting" features prior to having "time" to implement XYZ. There was a huge amount of time between C++98 and C++11--enough time to implement XYZ (e.g. the correct phases of translation, macro replacement, two-phase lookup, etc., etc.), but they didn't do it. Instead, they focused on extra-linguistic things (such as C++/CLI and C++/CX). Regards, Paul Mensonides