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语言进行交互

解决方案 »

  1.   

    只要没出现一个可以把windows挤掉的操作系统(linux现在还不行),我觉得还是c#有前途。
      

  2.   

    我个人感觉现阶段还是java好些,以后就很难说了
      

  3.   

    M$ 说 C# 是好的,Sun 说 java 才是硬道理。
      

  4.   

    不过 java软件工程师现在找工作比.net软件工程师找工作容易些
      

  5.   

    "不过 java软件工程师现在找工作比.net软件工程师找工作容易些"
    未来就不好说了!