Hacker News new | past | comments | ask | show | jobs | submit login

Microsoft does not care about C99. C++ is the official systems programming language in Windows, as has been communicated several times.

C89 is good enough for writing device drivers, the only place Microsoft still advises to use C instead of C++.

As for C99 support it is not as if Microsoft would be the only one not supporting it.

http://en.wikipedia.org/wiki/C99#Implementations

To be honest I think C99 and C11 will most likely go unnoticed by all major compiler vendors.




Are you looking at the same table I am looking at? All major compilers except MSVC 'mostly' support C99...


Yes I am.

Have you validated what 'mostly' means?

Let me tell you that each compiler manufacturer has a different dictionary to look up the meaning of 'mostly'.

If a standard is not 100% implemented across compilers, no one can be sure to use it if portability is a concern.

This is exactly like the time where most databases 'mostly' implemented the SQL '92 standard, and then the code had to be full with DB specific workarounds.


> Have you validated what 'mostly' means?

Have you? Real question - I'd be very interested in that.

The list of (allegedly) fully compliant compilers is not very impressive (IBM, PGI, Sun), but in practice, you're aiming at C99 support to the level of GCC, which will get you - in addition to GCC and its (supposedly) drop-in replacement Clang - AMD and Intel (I think ICC has C99 support to GCC level, but there are probably discrepancies in the feature sets)...


In many of our projects we are not able to use GCC and are forced to use the official vendor's compiler for the platform.

So it might be not that easy for certain companies to use your suggestion.

As far for what 'mostly' means. I have been coding since the K&R days, so I am aware that even when things are supposed to be 100% the same among C compilers, reality speaks otherwise.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: