深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

C#,微软.NET战略中的重要棋子


March 25,2004
  在当今的软件业领域里,自由和开放已经深入人心,这一理念的代表者Linux、Apache等也正在以前所未有的速度发展
和壮大。各大软件商唯恐搭不上这趟车,从而失去发展的大好良机,故纷纷对“自由和开放”趋之若鹜。而微软,这一软
件业的巨人,对此却并没有足够的关注。这情有可言,因为不管是在服务器操作系统、Web浏览器、程序设计语言还是在其
它各个不计其数的领域中,微软已经证明了其并不需要对“开放”投怀送抱。不过,令人出乎意料的是,微软在C#上的举
措,居然和自己的这一准则相去甚远。

  精品中的精品

  微软开发的C#(C Sharp)语言,不仅有实时的编译器,丰富的数据类型,还有一个被称为CLI(Common Language
Infrastructure)的服务。C#和CLI,都被打包在了微软六月份发布的.NET软件开发员工具箱Beta 2中,这一工具箱可用于
创建文本和图形应用程序、服务器端应用程序、组件和Web服务。这一功能已经被提交到了ECMA(欧洲计算机制造商协会)
作为了标准,这将可保证任何人都有权使用C#和CLI来进行开发。

  这次,傲慢的微软居然还好事做到底。它承诺C#将可以像Java一样便携、通用,并且用户无需受许可期限的限制。因
此,商业用户将可选择使用一个新的、功能强大并且具有极大吸引力的程序设计语言。

  C#可以说是微软在不断的发展和实践的过程中,锤炼出来的一个精品。它集C++、Java、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 Environment)和它标准的类,不过二者间的差别还是非常的大: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#和CLI的前景还是非常诱人的。
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved