写点什么

《论 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:001891
用户头像

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

关注

评论

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

linux删除目录下文件的几种方法

入门小站

在FinClip Hackathon中夺冠是一种什么样的体验?

FinClip

小程序 黑客马拉松 finclip

如何在 JavaScript 中让代码更加精简

devpoint

ES6 6月月更

王者荣耀商城异地多活架构设计

小虾米

架构师实战营

竟然能在App里拉起一个小程序?

Geek_99967b

小程序

中国AI:在"相牛班"的春天里

白洞计划

flutter系列之:flutter架构什么的,看完这篇文章就全懂了

程序那些事

flutter 架构 程序那些事 5月月更

3000帧动画图解MySQL为什么需要binlog、redo log和undo log

CoderW

后端 面试题 Binlog Redo Log MySQL 数据库

小程序转App仅需7步

Speedoooo

ide APP开发 小程序转app 前端IDE

富滇银行完成数字化升级|OceanBase数据库助力布局分布式架构中台

OceanBase 数据库

oceanbase 富滇银行

leetcode 4. Median of Two Sorted Arrays 寻找两个正序数组的中位数(困难)

okokabcd

LeetCode 查找

模块3-外包学生管理系统架构文档

Fan

「架构实战营」

近一个月B站封禁直播间1874个:直播行业仍然是违规重灾区

石头IT视角

内存性能测试工具

穿过生命散发芬芳

5月月更 内存性能测试

所有资产都在涨,只有比特币在挨打

CECBC

Web 编程入门:什么是Web API?

宇宙之一粟

Web API 5月月更

Flutter 基于 WebSocket 实现即时通讯

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

小程序如何与智能电视相结合?

Geek_99967b

小程序

模块七

ASCE

在线文本左边批量添加字符串工具

入门小站

工具

IOC思想开窍之路

留乘船

Java spring ioc

激活数字经济澎湃动能

CECBC

如何获得一场黑客马拉松的胜利?听听AWS特约评委怎么说

FinClip

小程序 黑客马拉松 finclip

在线HTML转ASP工具

入门小站

工具

智能手表的机遇与挑战

Geek_99967b

物联网

融云斩获2022年中国信创产业拳头奖“最佳通信与视频会议品牌”大奖

融云 RongCloud

小程序经济,已经开始制约中小企业的服务及合作

Geek_99967b

小程序

有IDE工具能让小程序快速运行在自有App上?

Speedoooo

ide 开发者工具 开发工具 小程序ide

给微信小程序配一个App如何?

FinClip

finclip 小程序转app

小程序生态构建能力,离不开UI定制自由

Speedoooo

ide 小程序ide

中小互联网公司研发效能团队规模、职能划分和优劣势分析

laofo

DevOps cicd 研发效能 持续交付 互联网公司

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