C#与JAVA之比较(图表说明)

C# 与 JAVA 之比较(图表说明)

笔者:乘风笑傲

笔者曾经使用过 C #和 JAVA ,种种过程有感于心,故作之,以抛砖引玉。

|

C#

|

JAVA

---|---|---

目标

|

提供易用、面向对象、跨平台

|

提供易用、面向对象、跨平台

GC

|

|

丰富的类库

|

|

中间语言

|

IL

|

JVM

自动生成文档

|

有 (/out 生成 XML 文档 )

|

有( javadoc 生成 HTML 文档)

值类型

|

都是对象派生的

|

基本类型是专门的

跨平台

|

公共语言运行时

|

虚拟机

操作符重载

|

|

结构类型

|

|

委托和事件

|

内置的委托和事件

|

接口和内部类定义

传递参数

|

值、引用传递

|

只能值传递

属性

|

支持

|

不支持

枚举

|

|

不安全模式

|

|

JNI 可达到同样效果

分度器

|

|

抛出异常

|

|

数组

|

规则、不规则均可

|

不规则

接口

|

支持

|

支持

Switch

|

可用表达式

|

只能整数

Foreach

|

|

只能用 for 或 while

前记

笔者曾是 JAVA 的忠实拥护者,何故?就是因为它可以跨平台,虽然这样说其实有些不然,但是那些基于 JAVA 的开发平台都是些倒霉的东西,这就不能不让人承认微软的东西就是好用,光是整洁的代码界面就让我感觉很好。

故穷则变,此文多有为 C #摇旗呐喊之意。

一点说明:跨平台性

JAVA 的跨平台性得益于它的 JVM ,即通过此完成 JAVA 代码到多平台机器语言的转变,但这个前提是转变前的代码必须用 JAVA 编写。

.NET 提供 CLS ( common language specification ) , 允许第三方编写编译器,在明确定义的规则下于 .NET 语言进行交互

Published At
Categories with Web编程
Tagged with
comments powered by Disqus