写点什么

《论 C#与 Java 之异同》一文已更新

  • 2007-05-04
  • 本文字数:997 字

    阅读完需:约 3 分钟

2001 年的时候, Dare Obasanjo 写过一篇文章,名为《论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 引用了他在 2001 年时所得出的结论,来阐述 Java 和 C#在发展方向上的变化:

[…] 自 2001 年以来,C#和 Java 中都引入了一些共同的特性,诸如泛型、foreach 循环、列举、自动装箱、可变长度参数列表和元数据 Annotations。但是在几年之后,我们却发现 C#和 Java 却走上了两条不同的路。C# 3.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

2007-05-04 08:001536
用户头像

发布了 197 篇内容, 共 56.5 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

JavaWeb Ajax详解,linux操作系统基础教程安俊秀课后答案

Java 程序员 后端

Java中的Type类型详解,javase菜鸟教程

Java 程序员 后端

java8实战读书笔记:Lambda表达式语法与函数式编程接口

Java 程序员 后端

Java中的容器,Java开发进大厂面试必备技能

Java 程序员 后端

模块三:如何保证设计出合理的架构? -- 学习总结

小鹿

JavaWeb学习笔记6——事务实例,我的支付宝3面+美团4面+拼多多四面

Java 程序员 后端

Java中的程序控制流程,java面试常问知识

Java 程序员 后端

Java基于TCP的网络编程,在阿里工作5年了

Java 程序员 后端

java-集合-Map(双列)——迪迦重制版(1),关于线程池的五种实现方式

Java 程序员 后端

java反射map转实体类 实体转map,微服务架构的优缺点

Java 程序员 后端

Java基础复习(DayEleven),应届生面试java开发工程师的题

Java 程序员 后端

java-集合-Map(双列)——迪迦重制版,zookeeper面试

Java 程序员 后端

Java反射(1),java架构师薪资

Java 程序员 后端

java响应重定向发送post请求,spring+mybatis基础知识

Java 程序员 后端

Java在2018年的形势,MySQL优化原理分析及优化方案总结

Java 程序员 后端

Java垃圾回收机制小结以及优化建议,kafka的工作原理图

Java 程序员 后端

Java中高级核心知识全面解析——Dubbo,kafka入门到精通文档

Java 程序员 后端

Java中的几种阻塞队列,kalilinux渗透教程

Java 程序员 后端

Java基础03 Java的运算符,阿里巴巴java性能调优

Java 程序员 后端

Java基础知识总结(绝对经典),java项目实战视频旅行社管理系统

Java 程序员 后端

JavaWeb之Servlet技术(二),java基础程序设计题

Java 程序员 后端

Java中的几种阻塞队列(1),mybatis返回主键原理

Java 程序员 后端

Java中的初始化与清理,kafka参数调优

Java 程序员 后端

Java中高级核心知识全面解析——消息队列(1),看完这一篇就够了

Java 程序员 后端

Java中高级核心知识全面解析——消息队列,mybatis映射原理

Java 程序员 后端

Java发送邮件,字节跳动上千道精选面试题还不刷起来

Java 程序员 后端

Java中使用Spring-security(一),java做视频直播

Java 程序员 后端

JavaFx:窗口切换和ListView以及TableView的值绑定,docker面试题

Java 程序员 后端

Java使用JDBC开发 之 DBCP连接池,保洁阿姨看完都会了

Java 程序员 后端

Java反射,mysql开发教程

Java 程序员 后端

java8实战读书笔记:初识Stream、流的基本操作,nginx架构原理

Java 程序员 后端

《论C#与Java之异同》一文已更新_Java_Hartmut Wilms_InfoQ精选文章