With the glaring exception of numeric code, which is the most crucial thing for a lot of apps that are now written in C++. You'd be crazy to write a native CRUD app in C++ now but most of the big C++ apps I can think of do heavy work in numerics (Photoshop, Ableton, Maya, etc).
I'm not saying paint.net is a replacement for photoshop. However, for me, it's in the "good enough" category.
http://en.wikipedia.org/wiki/Paint.NET
"Paint.NET is primarily programmed in the C# programming language, with small amounts of C++ used for installation and shell-integration related functions."
Again this is good enough for a lot of peoples image manipulation. That area of "good enough" is getting larger all the time.
The flood of low-powered mobile devices out there seems to have given it some new legs though.
The language-agnostic version of this article: you can write slow code in any language.
Miguel de Icaza wrote an article with some preliminary benchmarks when they announced the release a few years back: http://tirania.org/blog/archive/2008/Nov-03.html
CuWin 3500, CE5, NS Basic/CE 8 NS Basic/CE: 26529 loops/second Microsoft .NET: 133 loops/second
Acer beTouch E101 Windows Mobile 6.5, 528 mhz, NS Basic/CE 8.0 NS Basic/CE: NS Basic/CE: 16669 loops/second Microsoft .NET: 3060 loops/second
CuWin 5500, CE6, NS Basic/CE 8 NS Basic/CE: 14394 loops/second Microsoft .NET: 764 loops/second
i-mate 400mhz, WM5, NS Basic/CE 8.0 NS Basic/CE: 12632 loops/second Microsoft .NET: 1290 loops/second
Running the same test under NS Basic/App Studio, an iPhone 4 scores 282,674, Nexus One is 403,000 and the Motorola Xoom is 718,484. Plainly, Windows CE.NET has a long way to go!
When I was working through project Euler (http://projecteuler.net/) with various languages, the only one I really had to optimize was Python (vs C/C#/Haskell).
I really like Python, and for most stuff it's fast enough. Just saying the real penalty (that I noticed) is a scripting language, _if_ it's heavily arithmetically constrained.
Some (non-trivial) games in C#: http://www.arcengames.com/w/index.php/aiwar-alienbundle
However, it's possible and even practical to also write games in Python. See the pygame project.
Now I want to see higher-level tests, where algorithms reading significant data or application-level benchmarks are run. The faster the CPU core, the less penalty there will be from C# compilation. The problem is that it would take lots of time to translate something like WORF, GAMESS, or other standard numerical benchmarks.
1): Most projects that I've used c# for just aren't performance constrained. What's more important for us is the productivity dimension. We have _lots_ of hardware. We have a few programmers.
I've actually just finished the _only_ c# program that had a performance aspect. It was/is an in-house search engine. I profiled it, fixed the hotspots and it's fast enough.
2: MSFT Marketing. Linq|dynamic are heavily sold by Microsoft. You'll have to read Joe Duffy's blog for actual performance advice: http://www.bluebytesoftware.com/blog/2010/09/06/ThePremature...
You will find that a greater proportion of C#/Winforms, console apps, windows services etc. developers are performance conscious.
Basically he didn't turn on all optimizations on the C++ program and used the "slow but secure" version of the Microsoft STL.
Also his GenericSum uses array in C++ and lists in C#, so the C++ has to reallocate at each append.
I could go on for long, I appreciate the intent, but all you need to know is that Microsoft gave up on using C# everywhere because it's damn too slow.
Got any proof of that?
As a data point, a friend of mine works for Microsoft on one of the Blend products. He's using C# for at least some of his work.