Re: Business Impact of C++0x
Thanks for the post. I can give you a few advantages/disadvantages of using C/C++, but as they say in the classics “your mileage may vary”, “free advice is worth exactly what you pay for it” and “one man’s meat is another man’s poison” (apologies to any vegetarians reading this).
Firstly, let me start by saying that a major reason given to me by many of our customers for using C/C++ is portability (which is to some degree is a function of its standardization.) Hard to imagine any other language you find in as many places as C/C++ and many of our customers target multiple platforms. Other customers often talk about performance and memory footprint requirements too, you have fine grained control over both of these with C++ (sometimes too fine grained for sure) but when you really need every bit of memory or every CPU cycle, C/C++ is an often selected choice.
Of course, like any programming language it has downsides too, many customers say for productivity and safety a managed language, such as C#, is superior. Managed languages can also provide a better basis for some programming techniques, for example I would imagine implementing a “transactional memory model” in a managed language/environment would be simpler.
Then there are other issues less language specific but that play a part. For example, some APIs may come only native or managed. Often you can get to them from either platform but may loss advantages, such as productivity, safety, performance in the process.
I have always like to say that I have never meet a programming language that I have not learned from, some show me what to do, other may show me what not to do for sure – but I firmly believe that the more programming languages you know the better you write code.
I am not sure I have provided a business justification in any sense here. I would imagine any good boss will want to know about language advances (as these are part of their “tools of the trade”) but this may still not mean that a particular language is correct for their circumstances.