Re: Standard Versus Non-Standard C++
On Monday, July 2, 2012 1:03:29 AM UTC-5, Edward Diener wrote:
On 7/1/2012 6:05 PM, Le Chaud Lapin wrote:
C++/CLI actually changes the meaning of existing C++ keywords sometimes.
Please give an example that supports your assertion.
See the following paper, where it is written:
"C++/CLI uses some existing C++ keywords in new, non-standard constructs"
"C++/CLI changes the meaning of currently valid C++ syntax."
http://www2.research.att.com/~bs/uk-objections.pdf
Microsoft makes it very plain that C++/CLI is a language extension to
C++ which allows programmers to program the .Net framework using a C++
dialect. It is clearly not standard C++, nor does it intend to be. I
cannot believe that anybody really professional using it does not know
almost immediately that it is not standard C++.
Actually, they do not.
Certainly you know that it is not standard. And I know that. And
probably 99.9% of the people reading this post know that. But some people
do not. They are just starting out. I did not know that 'overload' was
a deprecated keyword when I first started learning C++ (1996) until a
compiler told me. I was using an old book. Programmers (beginners) only
know what they read, and if you scrutinize Microsoft's method way
of presenting C++/CLI, you will see that it is not in the spirit of how
GCC might present its extensions. Microsoft has tried numerous times
to assert C++/CLI ~the~ "natural evolution" of C++, and caught and
rejected by sagacious individuals across the pond.
My disagreement with Microsoft is not that C++/CLI is not C++ but that
Microsoft originally inferred that it was to be a first-class .Net
language, like C#, but never carried out that promise.
I do not think it is possible to make C++ mirror the fundamental concepts
of .NET without changing the language fundamentally. That is part of
the problem. They want standard C++ programmers to migrate over to
..NET, but they realize that C++, by its very nature, is incompatible
with many of those concepts. So they've changed C++ in ways
that bring it closer to .NET concepts, while telling the world, "We
have not changed C++. These are merely extensions." Again, the UK
ISO body saw what they were doing and wrote:
"IV. A new language needs a new name"
(see same link above)
Borland created C++ Builder, which is also an extension to C++, well
before Microsoft crreated C++/CLI. I do not recall an outcry about C++
Builder not being standard C++ from anybody.
I do not agree that your complaint against Microsoft is a valid one in
regards to labelling C++/CLI as C++.
Do you believe that it is a new language or not?
-Le Chaud Lapin-
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]