Choosing C# over C++

In a comment, Josh asks "[Why should] a C++ programmer choose to write industrial programs in C#? Of course you needn't restate the benefits of a 3rd/4th/5th generation language, as much as benefits to someone who is choosing whether or not to port existing C++ code to C#."

Since it's my blog, I'm going to ignore his request and quickly restate that the language C# has productivity benefits over C++. Beyond that, the Base Class Library (BCL) definitely has huge productivity benefits, but you can access the BCL through Managed C++ and, soon, C++/CLI.

But porting existing C++ to C#? That's a tricky one.