《论C#与Java之异同》一文已履新[转载]

作者 Hartmut Wilms译者 李剑 发布于 2007年5月4日 上午8时0分

原文:http://www.infoq.com/cn/news/2007/05/comparison-csharp-java-updated

200一年的时候,Dare
Obasanjo
写过1篇文章,名字为《论C#与Java之异同(Comparison
of Microsoft’s C# Programming Language to Sun Microsystems’ Java
Programming
Language)
》,该文以其详尽与纯粹成为了同类小说中的佼佼者。今后,他又依照两种语言的风行版本——Microsoft
C#
2.0
Java
Standard Edition 6
——对原来的书文进行了改动。

Dare
Obasanjo在文中对双边的特点与定义举行了创制的分析。他的文章与其余文章的分化就在于,他从统揽全局的角度上对二种语言及分级在对应平台上的落到实处举办了一体化的论述。因而,该文差不多能够用来当作C#和Java的参考手册。在文中,他还对重要完毕做了表达,并分析了三种语言的得失。

小说结构如下所示:

  1. C#和Java的共同点是怎么?
  2. 如何特点是在三种语言中现有,可是富有细微差其他?
  3. 如何概念是在三种语言中幸存,可是相差甚远的?
  4. 什么样特点大概概念是只在C#中留存,而在Java中不存在的?
  5. 怎么样特征只怕概念是只在Java中留存,而在C#中中不设有的?
  6. 结论

个中有关泛型(Generics)元数据Annotations(Metadata
Annotations)
的可比极端引人注意,因为这一个特色固然在实际上利用中看起来很相似,可是在Java和C#的分级实现中,却有着很强烈的微薄差距。该文中别的壹处亮点则是Dare
Obasonjo引用了她在200一年时所得出的结论,来论述Java和C#在进步大方向上的更动:

[…]
自2001年以来,C#和Java中都引入了1些联合的特色,诸如泛型、foreach循环、列举、自动装箱、可变长度参数列表和元数据Annotations。可是在几年现在,大家却发现C#和Java却走上了两条分化的路。C#
三.0的眼下陈设的重大是语言集成查询(LINQ)项目,它是要把有个别面向数据的特征,包蕴查询、数据集操作、数据转换和种类猜测,直接引入到C#中来。再加上C#中已某些有些天性,例如匿名格局和nullable
types,C#在今后的几年内,与Java的差别将会愈加大。

Dare
Obasanjo的稿子给那多少个想从Java换来C#的开发职员提供了汪洋音信,反之亦然。对于那二个想取妥帖前语言的更加多特点与概念的开发人士来说,那篇文章也是很好的参考。

查阅英文原稿:A Comparison of C# to Java,
Updated


翻译简介:李剑中国Eclipse社区插件开发版版主,在JavaEye拥有RCP专栏,
北京航空航天津高校学软件工程硕士。现就职于Ethos,热衷于设计格局,敏捷软件开发的研讨与执行。为InfoQ普通话站贡献内容,请邮件至china-editorial@infoq.com

相关文章