1.DotNet(.Net):新平台,C#:新语言
DotNet和C#的出现有一段时间了,而且目前继续在发展和升级中。DotNet和C#到底是何方神圣,相信广大读者对它们并不陌生。简单的说DotNet是某种程序(我们称之为DotNet程序)的运行环境或平台,所以我们更多的时候是说DotNet平台,而C#是一种开发DotNet程序的语言。我们说“C#编程”其实就是进行“DotNet程序开发”。
我相信每个软件开发者都对“平台”这个词很熟悉。这个词使用非常频繁,而且用在不同的场合有不同的含义。一般来讲,常说的“平台”指两种东西,一个是操作系统,另一个是程序运行环境。例如,“Windows平台”――操作系统,“Win32平台”――程序运行环境。有时为了更好的区分,也管程序运行环境叫“开发平台”,例如,Java开发平台。有时候根据上下文我们也可以分辨得清“此平台是何平台”,例如,“Java可以跨平台”,这里的“平台”指操作系统。
我们进行程序开发都是针对某种运行环境而言的。在Net推出之前,Windows操作系统存在如下一些程序运行环境或开发平台:
1.Win32
2. Posix
3. OS/2
4. Java平台
前三种是随Windows而来,本身固有的,也称之为环境子系统 environment subsystems。而其中以Win32和Java平台应用广泛。Java已经在多个操作系统中实现了。而Win32只存在于Windows中。进行Win32程序开发时,我们要使用Win32平台提供的Win32 API。每个Win32程序员肯定都有这样一个感受:“开发Win32程序不是件容易的事情”,确实如此。我想,或多或少与下面两点有关。一是Windows是事件驱动,基于消息的操作系统,要把这点理解就很费劲;二是Win32是基于对象的,面向对象的一些特性无法实施,特别是编程接口以函数形式提供造成使用不便。Java的成功除了他的跨平台等优点外,我想还有一个原因是他的简易性(当然,现在Java是越来越复杂了)。
在Windows操作系统上运行的程序有很大一部分是用Java开发的,这是MS不能忍受的,再说了,Win32编程模式确实缺少亲和力。所以,MS推出了DotNet,一种全新的开发平台,旨在与Java竞争。DotNet是与Java相对应的一种平台,懂得Java的朋友在学习DotNet时很容易上手。至于DotNet与Java孰优孰劣,每个人有自己的看法,我想各有所长吧。
C#是随着DotNet一块推出的新语言。C#编译器是面向DotNet的,不像传统的编译器针对某种机器。C#综合了C++和Java等语言的优点。给我的感觉是简约和优雅,不像C++那样晦涩,在DotNet的支持下,执行效率也比Java较好。
当然,学习DotNet和C#并不是那样简单。本人认为先了解一些新的术语和概念,学点C#语法(不要深究),然后阅读“用C#程序例子讲解DotNet的书籍”。接着系统的学习C#,这样你就会就会如虎添翼了。虽然对DotNet内部机制了解不深也能写出好的程序,我想一旦你对DotNet了解更深,你就会写出更好的程序来。再说了,追根溯源是某些人的爱好。如果你对DotNet和C#都很精通,那么你就是内外兼修的武林高手了。