Linked by David Adams on Sun 14th Aug 2011 22:41 UTC, submitted by subterrific
General Development The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimous approval. The next revision of C++ that we've been calling "C++0x" is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we'll be able to call it "C++11."
Permalink for comment 485023
To read all comments associated with this story, please click here.
RE[3]: Yet another standard...
by dpJudas on Mon 15th Aug 2011 08:23 UTC in reply to "RE[2]: Yet another standard..."
dpJudas
Member since:
2009-12-10

If you are spending 20% of your cross platform development time on VS you're clearly doing something wrong. As the main author on a cross platform game SDK (clanlib.org) I've personally had the experience with cross platform coding between Windows, Linux and Mac. And I do not use 20% of my time getting code to work between the platforms.

A. Microsoft removed in-line assembly because they want you to use compiler intrinsics instead. They have several advantages over custom written assembly such as allowing the compiler to actually optimize your assembly. And the best part is that even though these intrinsics aren't part of the C++ standard, most of them are part of an Intel standard that all the different compilers support. Truly write once use everywhere (for the x86 platform). So why are you using hand-written assembly again?

B. I don't use vargs or much complex macros, so I really wouldn't know. However if you are trying to write something cross platform its rather stupid to insist doing things you can't do cross platform, isn't it? Maybe you should reconsider your coding style to be more compatible with multiple compilers.

C. Not sure what you are trying to say here.

D. Why are you using nmake? Self torture? Nobody uses nmake. Maybe you should try something like CMake if you want to only use one build system for all your platforms? Or if you insist on using a MS technology try maybe a normal vcxproj or perhaps even msbuild!

E. I assume you are referring to the strcpy extensions and so on. First of all, WHY would a C++ developer even use these functions? Self torture again? Secondly, you don't HAVE to use the extensions if you don't want to (hint: a simple define will disable the warnings it issues about using the unsafe versions). Thirdly, there's a very good reason why Microsoft want you to stop using them. They were the primary source of buffer overruns in their own software.

Just because you don't know how to write portable C++ code doesn't mean it is the fault of Visual C++. Most of the things you complained about isn't even part of any C++ standard (i.e. assembly and nmake).

I agree a nice cross platform build system would be nice, but so far I like the MS solution system a lot better than any unix alternative I've seen (make, automake, qmake, cmake). But 20% of your time? To add the .cpp files to a makefile? That's just trolling.

Reply Parent Score: 4