4 ms·
This is bad. Know what else is bad? It's 2012, and MS still has no plans to support C99. Waiting for MS to follow standards is frustratingly often futile. (See
by JoachimSchipper 14y ago
This is bad. Know what else is bad? It's 2012, and MS still has no plans to support C99. Waiting for MS to follow standards is frustratingly often futile. (See also: IE.)
- jetti 14y ago"Know what else is bad? It's 2012, and MS still has no plans to support C99." This is a ridiculous statement. Microsoft wants to focus on C++ and will not put out a C99 compiler. Why is that bad? They obviously feel their efforts would be better spent elsewhere. If you take a look at Wikipedia's list of C99 implementations (http://en.wikipedia.org/wiki/C99#Implementations http://en.wikipedia.org/wiki/C99#Implementations) you will see that many of the compilers there don't have full implementations, even though the standard was approved 13 years ago. Yet I don't see people chiming in on any of those compilers to complain of a lack of C99 support.
- tjdetwiler 14y ago"Mostly" compliant and "No" compliance mean the same thing to you?
- jetti 14y agoNo, but here is the difference. The people behind all of the mostly obviously care about implementing C99. Microsoft has said they are focusing on C++ and not on C for awhile now. If you want to be pissed about C99 support be pissed that it is taking the groups who are implementing it such a long time to get full compliance rather than bother those who have no interest in it.
- rawatson 14y agoClang, GCC, and Intel are all described as "mostly" supporting C99. This is unfortunate, and it would be nice to see them fully supported, but developer time is limited, and not all of C99's features are in high demand. Unlike MSVC though, these compilers have included the extremely visible features -- things like inline variable declarations, designated initializers, and variable length arrays. I don't think Microsoft should implement C99 in full, but partial support would help students trying to learn C on Windows.
- pjmlp 14y agoJust install mingw, which is even better for students given their usual lack of income. Microsoft is not forbidding anyone else to develop C compilers.
- jetti 14y agoFor students, they could use Pelles C (http://www.smorgasbordet.com/pellesc/ http://www.smorgasbordet.com/pellesc/) which has support for C99 and C11 and is free as well. There are well established alternatives to C99. At this point, Microsoft would be trying to play catch up which would take away from other areas of focus.
- fafner 14y agoI guess the difference between mostly for Clang and GCC and full for Sun Studio and IBM is the difference between having a PR department and being an open source project. The important features are available http://gcc.gnu.org/c99status.html http://gcc.gnu.org/c99status.html
- pjmlp 14y agoMicrosoft won't support anything else other than C90, according to the company C90 support is good enough for legacy code. For everything else related to native code there is C++. The company's official statement is explained in Herb Sutter's blog: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/ http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and...
- brigade 14y agoEveryone who cares about C already knows Microsoft's position on C99, as well as the bullshit recommendation of compiling C code as C++. And even if they did a complete about-face I doubt many would forgive them for being single-handedly responsible for countless broken reimplementations of <stdint.h>. But there is a certain amount of schadenfreude from their refusal to implement even trivial C99 features for over a decade to "concentrate on C++0x", and yet have by far the most lagging C++11 implementation that likely won't implement many features for years to come.
- pjmlp 14y agoBut they are not the only commercial vendor doing this. Many in the open source community only know GCC and tend to think everyone supports everything. Since the early K&R C days, each commercial compiler vendor implemented the parts it liked to implement, while leaving out parts they were not so keen to provide.
- snogglethorpe 14y agoYes, and it's always sucked. In the bad-old-days, of course, there was little choice but to use whatever (typically bad) commercial compiler one had available. So although these compilers generally sucked, that was just SNAFU. But now things are different: GCC, and now Clang, provide high-quality and timely support for a wide variety of targets, and have set the bar much higher. The sucky commercial compilers of the past aren't really acceptable anymore.