C#是微软于2000年6月发布的一种面向对象的、运行于.NET Framework上的高级程序设计语言。它是第一个面向组件的编程语言,同时也是微软.NET windows网络框架的主角。从语言风格上来讲,C#受到了C,C++和C#的影响,兼顾了各语言的优点,也对各语言存在的问题进行了改进,因此它是一门很优秀的语言。从目前来看,c#大有赶超JAVA之势,它几乎集中了所有关于软件开发和软件工程研究的最新成果:面向对象、类型安全、组件技术、自动内存管理、跨平台异步处理、版本控制、代码安全管理……。尽管像很多人注意到的一样,罗列上述特性时,总是让人想到JAVA,然而C# 确实走得更远。现实的情况是,非技术的因素往往更能决定一个产品的未来,尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac OS、UNIX等,都败在了Windows漂亮的界面上。JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C# 的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准,软件开发商既可以省去JAVA的许可证费用,也不必担心成为微软的奴隶,那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。
其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。
提到C#,就不得不说另一个名词,那就是.NET。.NET是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。
现在进入NET时代,—种全新的环境 ,对C++和Visual Basic这两种语言都进行了新的扩展 。同时,微软决定给开发人员提供另一个选择:一专门用于.NET、具有新起点的一种语言,即C#。它包括以下一些功能 :
● 完全支持类和面向对象编程 ,包括接口和实现继承、虚函数和运算符重载。
● 一致且定义完善的基本类型集。
● 对自动生成XML文档的内置支持。
● 自动清理动态分配的内存。
● 可以用用户定义的属性来标记类或方法。 这可以用于文档 ,对编译有一定的影响(例如,把方法标记为只在调试版本中编译)。
● 可 以完全访问.NET基类库,并易于访问 Windows API。
● 可以使用指针和直接访问内存,但C#语言可以在没有它们的条件下访问内存。
● 以Visual Basic的风格支持属性和事件。
●改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与 ActiveX控件(COM组件)相同的方式由其他代码调用。
● C#可以用于编写ASP.NET动态Web页面和XML Web服务。
说了这么多,归根结底就一句话,C#是一门很重要很有前景的语言,对于从事编程开发的人来说,学好它应该算是一项基本而重要的技能了。从下一篇博客开始,我将会为大家介绍C#的基本语法以及如何运用Visual Studio进行C#的开发,希望能和大家一起进步,在C#开发之路上走的更快,更远!