5 ms·
Should have been titled" Herb Sutter confirms that Microsoft's compiler group management doesn't get it" Even the IE team has learned the importance of impleme
by binarycrusader 14y ago
Should have been titled" Herb Sutter confirms that Microsoft's compiler group management doesn't get it"
Even the IE team has learned the importance of implementing standards support. Way to go guys; you've only had what, 12 years to get this right?
And one of your "solutions" to your own organizational issues is to "pressure your standards committee representatives to have ISO C++ include more of the C standard (longer-term)."
Awesome! No wonder so many game developers prefer Intel's compilers.
I like the Visual Studio IDE, but this makes life so incredibly difficult for cross-platform developers.
- cobrausn 14y agoThey are going to conform to a standard. The C++11 standard. Conforming to the later C standards and the C++11 standard would be incompatible goals.
- cdavid 14y agoHow would supporting both C++ and C standards be incompatible ? Every other major C/C++ compiler can do it (intel, clang, gcc, sun studio, etc…). Implementing most of the C99 features is ridiculously easy compared to C++11 (C-compatible complex numbers, C99 semantics for inline, etc…). The sheer amount of code that can be compiled on every platform but VS because of this is very significant, especially open source ones. I have a hard time buying the resource reason to be honest.
- bunderbunder 14y agoThe sheer amount of code that can be compiled on every platform but VS because of this is. . . . . . not actually very much. Visual Studio can use Intel's compiler, and perhaps others.
- cpeterso 14y ago> The sheer amount of code that can be compiled on every platform but VS because of this is very significant, especially open source ones. Mission accomplished.
- cube13 14y agoGCC and Sun Studio offer different compilers for C and C++. You can compile C code with Sun Studio's CC, but normally you would use cc for C code.
- bunderbunder 14y agoThe others, too. llvm, gcc, and icc all support both C and C++. But they also support Fortran using the same technique: A separate compiler front-end for each language. For VC++ to add support for C as easily as many compiler collections do would require VC++ having a modular architecture like that of the other compiler collections. Considering VC++ only supports one language, that seems doubtful.
- someone-else 14y agoIt already supports C. They're just not updating the version, leaving it stuck in C89 mode.
- bunderbunder 14y agoTouche. Perhaps I should have said "Supporting versions of C past the point where one could plausibly just pipe the C code through a C++ compiler."
- adgar 14y ago> Perhaps I should have said "Supporting versions of C past the point where one could plausibly just pipe the C code through a C++ compiler." Like supporting for-loop variable declarations, which MSVC's C++ compilation mode (/TP) supports, but MSVC's C compilation mode (/TC) does not? Oh - and what about declaring a variable anywhere other than the start of a scope? Allowed in C++, not in C. Cute.
- eliben 14y agoYou do know that C and C++ are separate languages, right?
- cobrausn 14y agoOf course I do. Doesn't the post make it clear as day? C++11 and C11 are different standards, as stated. Any C++11 compiler that tells you it is also C11 standards compliant is not a C++11 compliant compiler. There are many things you can do with C11 that should cause an error under standards compliant C++11. EDIT: If they decide to make the /TP switch on the compiler turn it from C++11 compliant to C11 compliant, that basically makes it two compilers for two different languages, instead of restricting to a subset of C++11.
- binarycrusader 14y agoVisual Studio provides a suite of compilers; not just a single one. I'm asking for their C compiler to support the C99 or C11 standard. They're not incompatible goals unless you're suggesting that they attempt to make a single compiler support both.