Programming 版 (精华区)
发信人: aspirewen (闻闻☆镜泊仙子), 信区: Programming
标 题: C#,微软.NET战略中的重要棋子
发信站: 哈工大紫丁香 (2001年12月02日22:33:28 星期天), 站内信件
在当今的软件业领域里,自由和开放已经深入人心,这一理念的代表者Linux、Apache
等也正在以前所未有的速度发展和壮大。各大软件商唯恐搭不上这趟车,从而失去发展
的大好良机,故纷纷对“自由和开放”趋之若鹜。而微软,这一软件业的巨人,对此却
并没有足够的关注。这情有可言,因为不管是在服务器操作系统、Web浏览器、程序设计
语言还是在其它各个不计其数的领域中,微软已经证明了其并不需要对“开放”投怀送
抱。不过,令人出乎意料的是,微软在C#上的举措,居然和自己的这一准则相去甚远。
精品中的精品
微软开发的C#(C Sharp)语言,不仅有实时的编译器,丰富的数据类型,还有一个
被称为CLI(Common Language Infrastructure)的服务。C#和CLI,都被打包在了微软
六月份发布的.NET软件开发员工具箱Beta 2中,这一工具箱可用于创建文本和图形应用
程序、服务器端应用程序、组件和Web服务。这一功能已经被提交到了ECMA(欧洲计算机
制造商协会)作为了标准,这将可保证任何人都有权使用C#和CLI来进行开发。
这次,傲慢的微软居然还好事做到底。它承诺C#将可以像Java一样便携、通用,并
且用户无需受许可期限的限制。因此,商业用户将可选择使用一个新的、功能强大并且
具有极大吸引力的程序设计语言。
C#可以说是微软在不断的发展和实践的过程中,锤炼出来的一个精品。它集C++、J
ava、JavaScript(现在的ECMAScript)和VB的精华于一身,因集众家之长,使其不仅安全
,而且还非常的易于使用。当然,仅仅有语言还不足于创建应用程序,以之相伴的CLI确
保了所有的C#程序、无论是从输出格式,还是网络I/O,都有一整套标准的类和数据类型
。
美好前景
和以前的VB一样,C#也承认并不是所有的程序都可以由初级程序来完成的,因为在
一些大的应用程序中,复杂和冗长的编码过程将不可避免。我们知道,C++因其复杂、麻
烦而著称;VB则主要是面对初级和中级程序员的。
C++程序员羡慕VB,并不是因为其安全性,而是因为微软直接把一个易于使用的COM
(Component Object Model)整合到了VB中。事实上,为了简化C++程序员对COM的访问
,微软也进行了一些尝试,但是最终它还是没有像在自己的专有权软件VB中一样,在标
准的C++中加入免费的关键字。
从常理来讲,C++的开发者为了追求VB的易用性,似乎很有可能会转而使用C#。事实
上,对于大多数程序员而言,它们不会选择使用一个它们认为比较差的语言来进行程序
设计。所以,为了能够继续使用自己津津乐道的C++所特有的功能,C++的程序员很有可
能会学习使用C#。最后,在大部分Windows的开发中(包括商业应用程序的开发),C#将
代替C++。因为,和微软加入到C++中的所有Windows和COM层相比较,C#更加的简洁、干
净。
为了使VB7(包含在Visual Studio.NET中)能和CLI兼容,微软已经把一些使VB非常
易于使用的功能舍弃。所以以前旧的VB应用程序,将不能通过VB7中更加严谨的编码规则
。
微软的CLI是其.NET一个关键的组成部分。它可以把数据类型标准化,以使得所有和
CLI兼容的软件,无论其是用什么语言编写的,也不论是在什么平台上编写的,都可以共
享数据。现在,我们所熟知的相对来说和CLI最接近的是JRE(Java Runtime Environme
nt)和它标准的类,不过二者间的差别还是非常的大:CLI是用来支持所有编程语言的。
所以在软件项目的开发中,项目组中的程序员可以选择一个自己最喜欢的语言来编程。
这对于开发那些项目组成员处在不同的地理位置的分布式开发项目来说,将带来前所未
有的便利。
CLI使得代码的重用非常的简单,如果一个应用程序需要某个代码模块,那么只需将
其拷贝到应用程序的主目录即可,而无需注册。这是因为CLI的设计就使其可以运行在任
何主机和任何操作系统上。
C#和CLI的确有很多受人欢迎的地方,不过也许促使人们去使用它的,不是因为微软
的宣传,而是ECMA(欧洲计算机制造商协会)所做的努力。现在,C#或者CLI已不属微软
所有,所以微软可以推出自己的开发工具,它的公司也可以推出自己的开发工具。这其
中也许有的就很有可能成为微软的竞争对手。当然,居于自己的发明来促进公共标准的
发展,这并不意味着微软就已经认可了源代码开放,事实上,微软是另有所图。不管怎
么说,C#和CLI都是在正确的方向上走出了非常有意义的一步。C#语言和与之相伴的CLI
对于.NET和未来Windows平台下的软件开发是至关重要的。
由于具有.NET的便携性和代码的安全性,并且考虑到可以把一些关键的C++项目移植
到C#上,所以C#代替C和C++将只是时间上的问题。而对于长期从事VB开发的人来说,很
有可能因为无法忍受CLI更加严格的编程规则,因此转而使用比VB优秀得多的C#。,
微软意欲何为
很显然,微软的这次反常表现让很多人对其C#语言和CLI持怀疑态度。毕竟,这是一
个很有价值的知识产权,而微软却放弃了,这似乎不太附合这个软件业霸主的一贯风格
。难怪各公司在是否使用C#和CLI标准时举棋不定,疑虑重重。
不过,有一点可以肯定,微软的这一举措将使来自各方批评有所减弱。此外,一些
在源代码开放阵营中反微软的人,很有可能会编写自己使用的C#编译器、CLI工具以及其
它的应用程序,而且他们所写的所有东西都将可以在Windows下运行。
微软是一个精明无比的“商人”,如果我们把微软比作一个服装商,那么它为了能
买出自己的整套西服,就会免费把领带送给消费者(这种情形,我曾在王府井碰到过)
。对于现在的微软来说,C#和CLI是领带,而Visual Studio.NET是西服。微软断定所有
接受C#的人,最终将很有可能选择使用其功能强大的Visual Studio IDE(整合开发环境
)。另外,微软这一举措,无疑是把Sun公司推到源代码开放软件的对立面。我们知道,
Sun公司的Solaris在互联网领域,占有最大的市场份额,而相对来说,微软的NT系统,
似乎不尽如人意。微软这一招可谓是一箭双雕。
实事求是的说,微软现在力推的这一套“西服”还是非常的优秀。现在ECMA委员会
正在测试C#和CLI,以产生一个新的ECMAScript标准。所以,不管微软居心如何,C#和C
LI的前景还是非常诱人的。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 天外飞仙]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.180毫秒