而Java语言则相反,不是ECMA标准的,真可惜Sun没有遵从这一标准。但是,它是可以实现的,而且没有专利的阻碍,其虚拟机和核心类库都有来自第三方的开放和封闭源代码的实现。C#看起来是免费的,其实不然,而Java看起来限制很多,但是它能够依据法律通过免费的途径来实现。
最后,我从来都没有想到我会说这个,但是Java具有更好工具的支持,即使是在考虑到集成开发环境(IDE)的情况下。Visual Studio .NET是一个很不错的IDE。它代表了多年的努力,而且特性很丰富。但是,Eclipse IDE包括了对Java的支持,它在稳定性、易用性和所提供的特性上超过了Visual Studio。IBM对Eclipse的贡献举足轻重,而且如果你信奉原来的软件格言“创建一个扔掉的(Build one to throw away)”,那么你可以把Visual Age作为第一个(被抛弃掉了的)尝试。对于使用C#的开发人员来说幸运的是,Eclipse的.NET版本正在开发中。
不是那么差,但是还不是Java
客观一点评价,C#里并没有什么很恐怖的东西。它没有Visual Basic里的那些很恐怖的东西,而且它事实上也没有继承像C里的一些东西,而这些东西会让开发人员开枪却打中自己脚。但是,底线是,C#并没有做很多东西,如果有任何东西比Java更好的话。它在某些方面很明显的要更差。在这两个非常类似的语言之间作选择的时候,请选择稍稍更好且经历风雨的那个:Java。