在过去的二三十年内,商业软件中有很多都是采用的是C和C++作为开发中的开发语言。尽管这样,C和C++的许多不足也在多年的开发过程中逐渐体现出来,C和C++的灵活性牺牲了开发效率
像比较VB或则其他的开发语言而言,相同功能的C/C++软件通常会需要更长的开发周期。开发效率的低下和开发周期较长,使得越来越多的C/C++开发人员开始寻找一种可以在功能和开发效率间提高更多平衡的开发语言。同样,对于其他的部分开发语言而言,他们为了取得更好的开发效率,就采用牺牲灵活性来换取开发效率,实际上保持一定的灵活性对于软件的开发语言而言是必要的。同时有些语言也不能轻易和现有的系统相结合,甚至不能与当前的WEB开发相结合。
随着开发语言的不足逐渐暴露,软件开发者在呼唤一种新的开发语言的出现来代替C/C++。这种开发语言要求提供一个开发效率高,开发周期短,同时能够使WEB开发变得相对更加容易方便,当然须要与现有的应用开发相结合。
C# (C sharp)是微软对以上问题的解决方案。它是从C和C++语言演化而来的开发语言,它吸取以前的教训,结合了C/C++开发语言的优势,并且它是可用于创建要运行在.NET CLR上的应用程序的语言之一,是Microsoft专门为使用.NET平台而创建的。同时,C#的开发语言的推出,也是考虑了其他语言的许多优点,并解决了它们的问题。
由于C#的语法比C++的语法更加简单,使用C#应用开发程序要比C++更加简单。但是,我们并不能说C#就取代了C++,实际上C++也是自身的很多优势,并且,它的功能的强大是不言而喻的。尽管c#的语法比C++的语法显得更加简单,实际上C#的代码常常要比C++略长一些。这是因为C#是一种类型安全的语言(与C++不同)。C#代码要比C++的代码更健壮,调试也比较简单,.NET总是可以随时跟踪数据的类型。
C#只是.NET开发的一种语言,它是专门为.NET Framework设计的语言,同时也是移植到其他操作系统上的.NET版本中使用的主要语言。在.NET Framework这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。,同时,由于C#是唯一为.NET Framework设计的语言,它能够使用.NET Framework所提供的所有的代码库中的每个功能,但是其他语言,比如VN.NET,就不能使用所有的代码库中提供的所有的功能。为了满足开发人员的要求,.NET的最新的版本还对C#语言进行了不断的改进。
.NET Framework没有限制应用程序的类型,因此使用C#可以开发Windows应用程序、Web应用程序、Web服务等等的应用程序,在这里我们就来讨论一下这几种常见的应用程序类型:
Windows应用程序就是指为在Windows系统中运行而专门编制的应用程序,它用Windows应用程序编程接口(API)编写,它必须包括一个主函数(Windows)和一个窗口函数。实际上Windows应用程序就如Microsoft Office,有我们很熟悉的Windows外观和操作方式,使用.NET Framework的Windows Forms模块就可以生成这种应用程序。
Web应用程序就是Web页,我们可以通过Web浏览器查看。在.NET Framework内包括一个动态生成Web内容的强大系统--Active Server Pages.NET(ASP.NET),这个系统允许个性化、实现安全等,我们可以使用C#通过Web Forms 创建ASP.NET应用程序。
Web服务是用户通过互联网向服务器发送一条XML消息,然后收到一条XML响应消息。可扩展标记语言(XML)是描述网页中及企业对企业商业文件中数据元素的一种开放标准。通过提供简单和普遍适用的标准,Web服务现在可以作为信息系统集成及系统间自动化信息交换的基础。
Windows应用程序、Web应用程序、Web服务可以通过.NET Framework的Active Data Objects.NET(ADO.NET)部分来实现数据库的访问。也可以使用许多其他资源,例如创建联网组件、输出图形、执行复杂数学任务的工具。