您的位置:首页 > 编程语言 > Java开发

选择C#还是Java归根结底是平台问题

2005-01-13 14:33 751 查看
选择C#还是Java归根结底是平台问题

作者: 周靖 译
Friday, May 16 2003 10:45 AM 镜头倒退回2000年:我在某家百分之百纯Java软件公司领导一个产品的开发。电话铃响了。是Tim打来的,他告诉我微软准备发布一种名叫C#的新语言。毫无意义的工作;他们会被远远抛在后面,我回答道。我认为Java已深入企业,微软不大可能有分一杯羹的机会。



快速前进到今天。现在,我同时领导着几个开发项目,几乎全部采用C#。发生了什么事?最重要的原因在于,我要做的软件只需在Microsoft Windows平台上运行!

我认为,任何软件程序要想同时在多种平台上运行,目前惟一的选择就是Java。之所以说“目前”,是因为未来在非Windows平台上使用的CLR可能会变成熟。其中一些已在开发,只是暂时谈不上“成熟”。

所以假如移植性是你要优先考虑的,那么我提议优先考虑Java而不是C#。但如果你只是为Windows平台写程序,则强烈建议使用C#。下面会解释理由。

生产力是关键

当然也可用Java为微软平台开发应用程序。但基于“生产力”这一非常简单的理由,我认为更明智的方案是选择一种.NET语言。微软要比Java更善于利用Windows平台。创建Windows服务、写入事件日志、调试SQL Server存储过程、访问注册表、操纵COM——做所有这些工作时,就开发速度来说,.NET都要优于Java(当然这并不能证明C#要比Java好)。微软已经做好了完成基于Windows的所有任务的类,而且通过向导、拖放和指点操作,它们极易使用。

Java的设计宗旨是独立于任何平台,所以自然不会配套提供太多的Windows特性。Java开发者在实际用过.NET类之后一般都会大流口水;而且有玩笑讲,由于.NET开发是如此简单,以至于微软让许多老资格的开发人员都失了业。

.NET的决策

现在有许多人在争论两种语言在技术上的优劣,但这种争论大多数时候都是没有意义的;你基本上可用两种语言做同样的事情,只有少数情况例外。所以就目前来说,具体应选择什么语言,只需回答以下问题就可以了:“应用程序是否只需要在微软平台上运行?”如果答案是肯定的,那么请选择一种.NET语言——主要是C#。

记住,我们最终无疑会看到,用.NET写的应用程序也能在Linux和其他平台上运行,但那一天尚未到来。就目前来说,请先选好平台,再选择语言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: