Will the real C++ please stand up?

Will the real C++ please stand up?

Summary: Apparently, devotees of  the C++ programming language are putting their feet down when it comes to the naming conventions for a project that's been underway at Ecma. Yes, the same Ecma consortium that will eventually be putting its imprimatur on Microsoft's XML-based file formats as a competing standard to the OpenDocument Format (the best thing about standards is that there's so many!

SHARE:

Apparently, devotees of  the C++ programming language are putting their feet down when it comes to the naming conventions for a project that's been underway at Ecma. Yes, the same Ecma consortium that will eventually be putting its imprimatur on Microsoft's XML-based file formats as a competing standard to the OpenDocument Format (the best thing about standards is that there's so many!).  The related working group at Ecma has produced a specification for binding the C++ programming language to Ecma's Common Langauge Infrastructure specification (the CLI).  For the purposes of this discussion, although the CLI is not all of Microsoft's .NET Framework, it is essentially a very core piece (almost four years ago, I explained just exactly what piece here) of .NET's Common Language Runtime (the CLR). 

Leaving aside the question of whether Ecma is really a standards organization, when Ecma "ratified" the CLI as one of it's standards, it paved the way for Microsoft to say that .NET was standards-compliant.  Those familiar with .NET know that one of it's most incredibly attractive features is the ability to write .NET software (aka CLI-compliant software) in a variety of different languages.  VB.NET comes to mind but the one that most people now gravitate towards is C# (C sharp): another specification that Ecma has put its imprimatur on. Over the years, .NET has gained support from other languages as well.  For example, Perl.  But for the CLI standard to really get some prestige (again, leaving aside the question of whether Ecma is a standards organization), it stands to reason that it needs the support of a neutral motherload language like C++; one that wasn't hatched from the labs of Microsoft.  The idea here being that C++ code can be compiled for a native OS like Windows just as easily as it can be used to program a virtual machine like .NET.  Thus, Ecma has a working group that's devoted to the binding of C++ to the CLI.

But, in this case, as being reported on ArsTechnica, the UK is objecting at the International Organisation of Standards-level on the basis that the C++ like programming language that's been bound to the CLI deviates too far from standard C++ to be called C++. Says the story:

The U.K. representatives are arguing that Microsoft's proposed C++/CLI blueprint is so varied from the current C++ standard that tying the two together would cause massive confusion.

In a bout of strange coincidence, the report notes that the principal architect of the C++/CLI specification -- Microsoft's Herb Sutter -- is also the chair of the ISO C++ standard committee.  Even more interesting is that he apparently believes (according to InfoWorld) that the problem can be resolved by renaming the C++/CLI combination to something more unique (a nice olive branch if that's true).  The UK apparently had some suggestions as did some of ArsTechnica's readers.

Topic: Software Development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

1 comment
Log in or register to join the discussion
  • C++ and C++/CLI definitely different

    I've played around enough with C/C++ and .NET(in the form of Mono) to know that the UK is totally correct about C++/CLI. Different types of compilation(binary for C++ and MSIL for C++/CLI), as well as having to use different libraries to achieve similar things(iostream for C++ and System::Console for C++/CLI). The only real relation these two languages have is syntax. Herb Sutter has the right idea by suggesting renaming C++/CLI to avoid confusion.
    Tony Agudo