I'm seeing a lot of negativity here that I don't understand. The post seemed fairly well-reasoned and reasonable; the objections seem to assume that the content of the objection should be obvious. It's not obvious to me---C++ is not a superset of C, and hasn't been for some time now, although there remains a lot of overlap and cross-pollination. So why shouldn't a C++ compiler decide to just be a C++ compiler?
Herb Sutter confirms no more support for C beyond C90 in Visual C++
41–50 of 53 posts
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#42I'm seeing a lot of negativity here that I don't understand. The post seemed fairly well-reasoned and reasonable; the objections seem to assume that the content of the objection should be obvious. It's not obvious to me---C++ is not a superset of C, and hasn't been for some time now, although there remains a lot of overlap and cross-pollination. So why shouldn't a C++ compiler decide to just be a C++ compiler?
In particular, C++98 and C99 was when C and C++ began to split, and obviously MS chose to implement C++98 instead of C99.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#43Earlier quoted context omitted.
There's still a ton of C legacy code running on windows machines out there.
You say that like they are removing all C support. Unless that "legacy" code suddenly mutates to use C99 features that aren't in C++, it'll still compile in the future.
Forcing legacy code to stay woefully out of date to support a single vendor's stubbornness, perpetually growing its maintenance burden as the rest of the world moves on. Hooray for the Microsoft way!
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#44Earlier quoted context omitted.
It already supports C. They're just not updating the version, leaving it stuck in C89 mode.
Touche. 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.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#45> The C99 standard is interesting because it was created at a time when a lot of people on the previous committee went away and did other things. And it was a smaller group that came over who were interested in a special-purpose area, and so it ended up having a lot of things that were not of general-purpose interest.
Sutter's comment seems spot on about the apparent departure of a lot of the original authors. C99 seems to have been designed by a group of people who's overriding motivation was FORTRAN envy.
Really, how many people were screaming for built-in complex types, type-generic math, or variable-length arrays? noalias even made it's way back into the language.
Take the Good Parts of C99: BCPL comments, long long, and , and you've basically got MSVC's C compiler.
Good Parts of C11? Anonymous structs and unions. Plan 9 FTW.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#46Earlier quoted context omitted.
You say that like they are removing all C support. Unless that "legacy" code suddenly mutates to use C99 features that aren't in C++, it'll still compile in the future.
> Unless that "legacy" code suddenly mutates to use C99 features that aren't in C++, it'll still compile in the future. Forcing legacy code to stay woefully out of date to support a single vendor's stubbornness, perpetually growing its maintenance burden as the rest of the world moves on. Hooray for the Microsoft way!
C90 isn't going away, and it's not Microsoft's fault. Many C compilers still support 1st edition K&R style for a reason — old C code is going to stick around, and it's probably not going to change much, let alone in any way that needs C99 features.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#47Earlier quoted context omitted.
You say that like they are removing all C support. Unless that "legacy" code suddenly mutates to use C99 features that aren't in C++, it'll still compile in the future.
But will never be updated to include C99 features. Exactly.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#48Earlier quoted context omitted.
> Unless that "legacy" code suddenly mutates to use C99 features that aren't in C++, it'll still compile in the future. Forcing legacy code to stay woefully out of date to support a single vendor's stubbornness, perpetually growing its maintenance burden as the rest of the world moves on. Hooray for the Microsoft way!
I have severals problems with this. 1) The implication that working legacy code needs to be modified to use C99 features lest it be "out of date". 2) The idea that the world is moving on to newer C standards. 3) The idea that legacy code is moving on at all. C90 isn't going away, and it's not Microsoft's fault. Many C compilers still support 1st edition K&R style for a reason — old C code is going to stick around, an…
Ad 2) If there is support for features there will be people using them.
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#49Wow, they go so far as to recommend gcc if you want "new" features. ~"We won't support those features, if you want them go use a more full featured product". Kind of makes it hard to keep peddling their product in the long term if they plan to lag behind no?
Re: Herb Sutter confirms no more support for C beyond C90 in Visual C++
#50Earlier quoted context omitted.
Depends. From the article it seems they position their product as a C++ compiler. You don't expect your Haskell compiler to also do OCaml.
No, but I do expect my OCaml compiler to also do Caml.