EDIT: I doubt twesterm (below) meant me :P
I doubt you're going to get too many answers here so I'm going to give the opinion of a person rather new to programming: me. You should probably be a bit vary about my answers because, like I said, I'm pretty new.
You should probably replace C# with Java, then we can have an actual discussion. C# is Windows-only and AFAIK it's not as popular as Java either. Of course if you're a huge Windows-fan, C# will do just fine... But otherwise I say you'd do well to use Java instead of it.
Let's make it a comparison between C++ and Java instead. (OK, I'll have C# in there as well.)
1. Which language is more widely used?
I'm not a pro myself so I can't really answer this question. Both have their uses, and both seem to be very popular. C# is the least used of these, that's for sure.
2. Which is easier to learn and use?
Java, by far. I suppose the same applies to C# as well.
3. Which is better to learn for game development?
C++. It gives you better performance. But like Rainbird said, Java works too and I suppose so does C#.
4. Which is better to learn for software, programs and app development?
Like I said, I'm no pro so I can't really answer this one either. Depends on where you want to work? I'm pretty sure most PC applications, games or not, aren't really programmed in Java/C# though. Java/C# should be just fine in mobile/maybe web development.
5. What's the major difference between them, anyway?
I think Rainbird answered this question better than I could have.
Overall, I don't think it's important what language you learn first. Once you learn once language and the right way to think these things, it should be pretty easy to learn a new language as well. Besides, most languages have some similarities.
I had two basic programming courses in the last year, and we used Java on both of them. Then we had a two-week C++ course so we could learn to do the same things in C++. I don't think I can do all the same things in C++ as I can in Java but I'd say I'm close enough so that it won't take very long to get to the same point. The biggest difference right now is probably the lack of routine in C++.
I think it would be a good idea to learn Java first, then figure out how to do the same things in Java. Shouldn't really be too hard unless you intend to go deep, and you should get a better idea about the whole thing that way.







