C# is easier to program and easier to maintain. As a result more people will be able to use/modify/extend it with lesser amount of effort. C being more efficient holds no ground as optimizing use of processing/memory capacity is no-more the prime objective of majority of software. OS/Kernel programming and tweaking has been considered as black magic by regular programmers with very few and expert programmers getting into it. With some many devices available now, it will benefit all if we have more people who can utilize them from ground up.