2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

Nginx+Uwsgi+Django+Mysql部署项目

zhengzai7

MySQL Linux mysqldump 数据备份

weblogic基本概念、安装、创建域、服务器、数据源、部署应用

zhengzai7

weblogic

大模型的“第一性原理”:技术创新与社会价值的接轨

脑极体

大模型

2023-07-13:如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。 花括号展开的表达式可以看作一个由 花括号、逗号 和 小写英文字母 组成的字符串 定义下面几条语

福大大架构师每日一题

福大大架构师每日一题

华为开发者大会:软件开发小白的华为云云上初体验

YG科技

Docker学习路线4:Docker基础知识

小万哥

Java c++ Go Docker 容器

华为云出品《IDEA-Plugin-开发手册》电子书——学完即会场景设计

华为云PaaS服务小智

开发者 华为云 编程学习 华为开发者大会2023

《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透class字节码文件技术基底和实现原理(核心结构剖析)

码界西柚

Java JVM 深入理解JVM 挖掘底层原理

《面试1v1》java注解

JavaPub

Java 面试 注解

插件界的全家桶!对接华为云能力就用它了!

YG科技

我和“华为云”有个约会

YG科技

用ChatGPT搞定12 种编程语言:看看它的表现如何

互联网工科生

人工智能 编程语言 ChatGPT

机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法

Alan

人工智能 机器学习 PyTorch scikit-learn 多层感知机

高效运营新纪元:智能化华为云Astro低代码重塑组装式交付

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

智慧化考虑运用数据、信息、知识及反馈机制提升微表情识别准确度

zhengzai7

人工智能 DIKW

Git代码管理、提交、问题、仓库创建与管理

zhengzai7

git 代码管理

Weblogic控制台数据源密码的脚本化修改

zhengzai7

Shell 密码 控制台 weblogic 数据源

基础推荐算法概述

zhengzai7

推荐系统 推荐算法

关于商品推荐方法及系统的思考

zhengzai7

推荐系统 本质

linux环境用mysqldump定时备份Mysql数据

zhengzai7

MySQL mysqldump

深入C++常用的三个智能指针

芯动大师

详解:瓴羊QuickBI为什么是国内口碑最佳的BI工具

对不起该用户已成仙‖

机器学习之PyTorch和Scikit-Learn第一章 赋予计算机学习数据的能力

Alan

人工智能 机器学习 PyTorch scikit-learn

适配各类大模型应用!手把手教你选择 Zilliz Cloud 实例类型

Zilliz

Milvus Zilliz 向量数据库 zillzicloud

使用华为云开发者插件一键部署应用到ECS

YG科技

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