JAVA和C#,武当少林之争!

关于JAVA和C#的比较,从C#的诞生之日开始就没有停止过。其实比较JAVA和C#,有点不是Apple-to-Apple的比较。我认为更确切的说法是JAVA和.NET的比较,而C#是.NET阵营里的得力干将,和VB.NET一起成为微软.NET战略的左右手。JAVA和C#比较的文章网上的不计其数。其中我看到.NET总设计师之一,C#之父Anders Hejlsberg的一次采访录最为有份量,他从设计的高度和实现的技术细节上阐述了两种技术的主要异同点,比如.NET的Exception handling策略为什么和Java不一样,.NET为什么采用了delegate而不是像Java那样广泛的使用Interface,.NET为什么采用了JIT而不是Java的Hotspot策略等等等等。

Anders是计算机界名动天下的超一流剑客级人物,他的话自然高屋建瓴,广博而且深刻。不过呢,对他的话,一部分我赞同,一部分不是非常熟悉,暂且不表态,而有的地方我还没有被说服,他对Java的一些看法我还持有保留意见。不过呢,如果真地对JAVA和C#很感兴趣,Anders老剑客的谈话我认为是最好的入门一课。

从技术上讲,我不可能比Anders说的更好了,我也不想把这帖子业的写的太过严肃了,所以我就轻松的评述两句,主要是从我的角度来谈这个问题。


就我个人的印象,JAVA和C#就好比武当之于少林。Java如武当,特色是一个“纯”字;.NET如少林,72般神技,精而且博。其实JAVA和C#算是同宗,都是C++派别衍生出来的。JAVA在前,为师兄,C#在后,为师弟。


JAVA的诞生其实比较偶然。当时SUN的一位软件工程师(James Gosling)负责搞一个小项目,为微波炉,洗衣机之类的电器开发一个小的环境,便以编写相应的程序。作为一个C++的老兵,James非常了解C++的问题,那就是太难编写,调试,测试和发布。C++就如一把没有护手的尖刀,高手们可以随心所欲,但是功力如果稍有不逮,那么往往会伤了自己。并且那时候Unix门派众多,一个C/C++程序要提供IBM, HP, SUN, Digital,SGI以及Windows等等不同flavor的版本,简直是pain to the ass。 Wr


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部