用C#是最常用的,因为开发快速,很多类和接口是直接封装好的,现拉现用,C++嘛在开发WINFORM行真的没有丝毫的优势,甚至不如VB,C++在图象处理和设备上下文上比其他的有优势,他对API的调用很直接,所以很多游戏开发的核心还是C++,游戏厂商自己开发的开发环境也大多是C++来写的。WinForm开发过程中一般的数据处理VB、C#完成得很出色,图象和接口处理C++要直观一点。
做windows程序,核心是调用win32的类库创建窗口相关的对象。那么c和c++是可以直接调用win32类库的,所以可以开发,但是要写很多窗口事件处理等的方法,都要自己写。于是微软出了atl和mfc帮你快速编写windows程序。这些代码都是非托管的,也就是说直接访问系统调用或者库函数的,不安全,容易出现灾难性的结果(但运行效率高)。于是微软推出了.net再次封装,语言是c#,含义为c++++,这时代码是托管的,没有指针。这时开发效率高了,更安全了,但是运行效率相对就低一些。而java的虚拟机在底层调用win32的类库,用自己的一套awt和swt类库和java语言创建窗口,目的是为了可以移植到其它平台上。
C++很常用,360,浏览器,qq等
应用软件什么的, 用 C# 编写的多一些。
硬件的驱动程序的, C/C++ 的多。
C++还是很常用的,C#的话需要.net framework 才能运行的。