Hacker News new | ask | show | jobs
by aa0 4686 days ago
Microsoft pretty much let their c compiler rot. It doesn't support dynamic allocation, ie, int arr[numElts];, it doesn't even support var declaration anywhere but at the beginning of a function. Making code I've been writing compatible with msvc has been a pure headache.
1 comments

It is a C++ compiler, just use C++ and you will be fine.
No. I am using C and specifically some C99 features. They claim C++ is just C and ++ but it isn't.

(There is an Intel compiler that does support C99 btw if anyone is interested but you have to pay for it).

http://software.intel.com/en-us/articles/c99-support-in-inte...

> They claim C++ is just C and ++ but it isn't.

Who says this?

Citing Andrew Koenig 's 1989 statement: "As Close as Possible to C, but no Closer".

Thankfully I would add, as C++ has more strong typing than C.

As for doing pure C99 development on Windows, there are other options as you point out.

Personally as a software developer I don't have issues to pay for the work of others.

Microsoft's mentioned that in their forums in replies to people complaining about lack of C99 -- "just use C++".

> Thankfully I would add, as C++ has more strong typing than C.

Doesn't matter. My project was large, already written in C99, was not in C++. I do not like C++, I don't care for learning virtual destructors mixed with mutliple inheritance, templates stl and friend methods. I am not the only one on the project. So just "don't use it" is easy to say for one person project, when multiple people work on it everyone start to use their favorite subset from C++ huge specification and I don't like that.

> As for doing pure C99 development on Windows, there are other options as you point out.

It was annoying but we just rolled back C99 specific features.

> Microsoft's mentioned that in their forums in replies to people complaining about lack of C99 -- "just use C++".

Yes, this is true. For Microsoft C is a legacy language that can well be replaced by C++ for what they care.

But I think I never saw them stating "... C++ is just C and ++ ...", even of the official communication done by Herb Sutter.

I am on the opposite field, I only touch C if really obliged to do so, which does not happen since 2001.

So I am a bit biased regarding Microsoft's decision, but I do understand some developers would rather stay on C land.