background image

一、什么是 C#?

C#?

C#?

C#?

C# 是由 Microsoft 开发的一种新型编程语言,由于它是从 C 和 C++ 中派生出来的,因此具有

C++的功能。同时,由于是 Microsoft 公司的产品,它又同 VB 一样简单。对于 web 开发而言,

C#象 Java,同时具有 Delphi 的一些优点。Microsoft 宣称:C#是开发.NET 框架应用程序的最

好语言。

二、Java

Java

Java

Java

与 C#

C#

C#

C#

要学习 C#,不能不首先看一看 Java 语言。

相对于其他编程语音,Java 有一个无庸置疑的优点:用户以及编译器第一次不必了解生成可执行代码的

特定 CPU 细节。Java 引入了一个编译代码中间层,叫做字节代码,并使用一个虚拟抽象的机器,而不是

一个真实的机器。当 Java 编译器结束了一个源文件的编译后,你所得到的不是可以立即在一个给定平

台上运行的代码,而是可以在任何真实的平台上运行的字节代码,唯一的条件就是这个平台要理解和支

持 Java。这些发展包含着一个文化的变革。作为一个开发人员,你只需要确定 Java 虚拟机(JVM)提供的

抽象层,不同的 OS 销售商负责执行代码层,从而将中立于平台的字节代码映射到主机平台的机构中。

在这种情况下,Java 似乎是统一分布式计算机世界的领袖候选人了。“编写一次,永远运行”(并且无

论在哪里)一度成为 Java 诱人但却真实的口号。

那么为什么说 Java 只是“似乎”是一个好东西呢?跨平台理论的发展很好地证明了这一点。我们看

到,将 Java 代码从一个平台移植到另一个平台—Java 这个语言最重要和最受吹捧的特点—并不象宣传

的那样容易。任何 Java 平台都有其自己的虚拟机,它可以理解通用的字节代码,并且及时地将其编译

为本地代码。矛盾由此产生,不同虚拟机的执行也很不相同,这一点足以使代码的移植比预期耗费多得

多的时间,而且基本上不是自动的。

那么,Java 模型的好处在哪里呢?首先,Java 是一种先进的、面向对象的语言,包含了预防常见错误

的内置功能,并在仅仅一两个对象中携带了许多经常需要用到的功能。与 C++相比,Java 更易于读写,

不容易出错,而且更加美观,但是它速度较慢也不太灵活。想实现在任何软件和硬件平台上都可虚拟移

植,Java 尽可能少地使用了公分母模型,也就是说放弃了将每个平台开发到极限的能力。第二,虚拟机

的概念本身就是可移植和可共用的,因此对于分布式环境来说是理想的。Java 对于为非 Windows 平台开

发代码是最好的语言。

那么对于 Windows 平台来说,Java 又怎么样呢?让 Java 适应 Windows 是不可能的,这是由于 Sun 的许

可约束问题。但是 Java 实在是太吸引人了,Microsoft 比谁都能更清楚这一点。因此,Microsoft 又一

次采取了“拿来主义”的手法,很好地利用了 Java 的众多特性,隆重推出了 Windows 平台的新锐力

量,它就是相当简单但十分强大的面向对象的 C#编程语言。C#超过了 C++,它天生就包含了.NET 框架类

库中的所有类,并使语法简单化。