JAVA的优势主要在跨平台上,在WINDOWS和LINUX下都可以跑,国内很多公司用它做B/S结构的应用系统,也有部分手机上的应用。JAVA做C/S系统,实在是不敢恭维,也是饱受批评的。目前国内的JAVA程序员太多,JAVA可以说受到了过分的追捧,有点名过其实。
C#的优势在于跟微软平台结合紧密,并且B/S,C/S都可以做,C/S应用比JAVA开发起来方便的多。由于WINDOWS在全球桌面操作系统的垄断地位,C#肯定是很有前途的。至于所谓的跨平台,那是商业上的问题,微软的竞争对手敌视微软造成的情况。程序员大可不必管。所以C#,JAVA没什么优劣之分,争论这个就象争论美国是名主党好还是共和党好一样没什么意义(JAVA,C#都是美国的公司的产品,很相似)。
JAVA和C#可以说的同级别的开发语言。甚至他们的语法很多地方都一模一样,他们都是主要开发应用软件的。国内估计至少70%程序员用这两个。这两个学习起来都不难,门槛要求也不高。可是大多数人都可以学会这两个,只要下功夫。国内的软件蓝领需求一直比较多的。
但是高端的和底层的开发还是主要C与C++的天下。比如开发驱动程序,系统服务,高效的网络通信程序(比如大型网游),甚至开发象SQL SERVER这样的软件。C++的执行效率也是最高的。可惜的是,C++并不是每个人都适合开发,它的复杂度和难度是远远超过JAVA、C#的,C++更接近操作系统底层,所以使用起来麻烦,功能强大。国内的各类程序员,依笔者的估计能真正玩转C++的,不会超过20%(真正的玩转是指能用它做项目或产品,而不是写一个HELLO WORLD)。程序员尚且如此,一般的门外汉更不用说了。所以C++的门槛比较高。