MS offering C99 support!
Okay, the title was a bit misleading, but I couldn't resist. My buddy sent me this link: https://github.com/rbultje/c99-to-c89. The mere fact that this exists I find hilarious.
Disclaimer, I have not even really read the source, let alone tried this out
Do they have a further tool to turn the produced C89 into Turbo-C type code?
Out of curiosity, would you mock a tool to compile code from C++11 (full feature set) to C++98 (only C++98)?
What about C++11 to C90?
What about C++98 to C90 for that matter? The fact that this exists lets me do my job without bashing my head against C90.
I don't know anything about this particular instance, but the concept is sound, alive, and well.
It's not the tool or the concept that I'm mocking, it's Microsoft. I actually think the tool/concept is pretty awesome.
What I'm amused by is the fact that a huge company like MS is (or maybe "was" now that C11 is here) so reluctant to support the C99 standard, a mere 13 years old and now superceded by C11, but a handful of people got together and basically took care of it in the course of a few months, in their spare time.
<rant>MS claims there's some business case(s) for their lack of support, like "couldn't find the resources", "more effort than it's worth", "nobody wants it anyway", but I think it's a BS excuse that is more about vendor lock-in than anything. They even admit that they often get requests for individual C-99 features, but sometimes implements "analogues" instead of the standards-compliant feature. WTF?!?!</rant>
I had read it differently, but you say I misunderstood your intent.
I see the alternative now that you've elaborated on your intent.
I'm not at all amused.
Microsoft has basically said that they have no intention of supporting several C++11 features.
Actually, this make it seem like I'm blaming just Microsoft.
Every vendor is at fault for this situation.
The situation sucks; thanks to them programmers like me, who must match a certain level of "portability", have a dramatically reduced feature set available.
So, for example, if "GCC" doesn't support "inherited constructors", "MSVC" doesn't support "variadic templates", and "Embarcadero" doesn't support "lambda enclosures" I don't get to use "inherited constructors", "variadic templates", or "lambda enclosures" regardless of support elsewhere.