The cool thing about .NET is.. if you write your original app in C# and have performance issues, you can always call out to native for the small parts that are causing you issues. You are never stuck. It won't save you from a bad programmer, but it will save you from non-optimal 3rd party implementations.