:(
There is a world outside of Linux and mobile.
:(
There is a world outside of Linux and mobile.
There's no way Windows developers are going to stop using Visual Studio - and rightly so, because it's a very good IDE. So there are basically three things Microsoft could do to resolve this situation and let Windows developers make use of modern C code:
1. Update their C89 compiler to a newer C standard. This is unlikely, and probably a lot of work for Microsoft (I'm guessing they'll be removing the C compiler from one of the next releases of Visual Studio).
2. Add support for essential C99/C11 features to their C++ compiler, such as designated initializers. This would still force us to compile our C as C++ and do nasty things like casting the return type of malloc, but it might be the easiest solution.
3. Switch to a modern, open source C compiler like Clang. I would be very surprised if Microsoft would do anything like this (else IE would be using WebKit already).
So we're basically forced to either butcher our C code to make it compile as C++, or write C89. Or drop MSVC support, making our projects difficult for Windows developers to work with.
Not many developers on Linux and OSX are going to hold out on using new features just to coddle Windows users.
Not everyone is allowed to use modern versions of clang and gcc.
From a technical perspective, though, the latest standards are easily usable on AIX. IBM has done a good job of keeping XLC up-to-date, and it has supported C11 since May.[1]
[1] http://www.ibm.com/developerworks/rational/library/support-i...
Another option is the Intel C(++) compiler, integrated directly into Visual Studio.
On the other side of the fence Microsoft has repeatedly stated that they are not interested in supporting more of ISO C than they already do and want to focus on C++ (even going so far as to recommend the C++ compiler for developing C code). And apparently that "focus" on C++ hasn't even helped them overtake or even get even with their free (beer and freedom both) alternatives. That goes a long way to show in what state their compiler division is and so I wouldn't even bet on getting anything halfway decent should they commit to C11. That is not to say that there are highly competent people on that team, but there is simply to much to do and too many old mistakes to rectify first.
>* For C++11 conformance, we're interested in implementing the C99 Standard Library
Source: https://connect.microsoft.com/VisualStudio/feedback/details/...
Nothing is more infuriating than half-baked support that makes you run around with feature tables and obscure seemingly arbitrary coding guidelines ("use only this subset of this feature", "if you use this thing, remember to have a workaround for VS").
Anyone here able to comment on what difficulties the VS team faces?