您好, 访客   登录/注册

浅析C与C#

来源:用户上传      作者:

  【摘要】C#是微软公司发布的一种面向对象的、运行于.NETFramework环境之上的高级程序设计语言,是微软公司的最新成果。从时间顺序上说,最早出现的是C,然后是C++,最后是C#。C++是为了解决软件危机而引入面向对象的概念,C#是为了实现平台统一和JAVA争夺市场下的产物。最后是C#。C++是为了解决软件危机而引入面向对象的概念,C#是为了实现平台统一和JAVA争夺市场下的产物。C是完全面向过程的程序设计语言,而C++可认为是半个面向对象,JAVA从C++发展而来,吸取了C++精华,C#更是JAVA的超级版,C#是完全面向对象的。文章对C和C#之间的联系及区别作了简单阐述。
  【关键词】C、C#、Java;面向对象程序设计;NET环境
  [Abstract:]C―sharpisonekindofhigh―levelprogramminglanguagewhichMicrosoftCorporationissued,isMicrosoftCorporation'snewestachievement.Fromthetimesequence,AppearswhatmostearlyisC,thenisC++,finallyisC―sharp.Ciscompletelytheprocedure―orientedtheprogramminglanguage,C―sharpistheJAVAsuperversion,C―sharpiscompletelyobject―oriented.ThispaperhasmadethesimpleelaborationtobetweenCandtheC―sharprelationandthedifference.
  [Keywords]C;C―sharp;JAVA;object―orientedprogramming;.NETenvironmen
  C#(读作“C―sharp”)是微软公司发布的一种面向对象的、运行于.NETFramework环境之上的高级程序设计语言。其在PDC上登台亮相,是微软公司研究员AndersHejlsberg的最新成果。很多人会提出这样的一个问题,那就是C与C#有无区别呢?答案是肯定的,那二者的区别又在哪里呢,说到二者的区别,就必须先谈谈二者之间的联系。
  一、C与C#的联系
  有一种有趣的说法“C添两个+号,就是C++再添加两个+号,就成了c#了(四个+就成了#)”,还有一种说法“C是爷爷,C++是爸爸,C#是孙子”,从这些形象的比喻中,我们应该能体会到从C到C#的变化过程。
  从时间顺序上说,最早出现的是C,然后是C++,最后是C#。C++是为了解决软件危机而引入面向对象的概念,C#是为了实现平台统一和JAVA争夺市场下的产物。从性能上说,C的效率最高,C++次之,C#最低。C是完全面向过程的结构化编程语言,它的特点是语言体积小、效率高、语言灵活,给程序的限制小,而且可以方便地对低层进行操作,所以它非常适合于开发操作系统、驱动程序,嵌入式等对速度要求较高的程序。C++是向下完全兼容C的,C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为它的增加使软件开发可以比较容易地描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本,但因为C++是面向对象的语言,这本身就制约它的速度,所以C++适合开发那些大型项目,现代的大部分语言都或多或少的借鉴了C++和C的某些特性。C#被包括在.NET平台下,是一个面向对象、面向网络、面向组件的语言,有很多地方与JAVA非常相似,擅长于开发网络方面的程序。因此,更确切地说,C#是一个需.NET平台支持的开发语言,单纯看C#没有意义,需要了解.NET平台的开发知识。
  从编译角度看,C/C++编译生成目标文件都是可被CPU直接理解的机器码,而C#编译后生成的是MSIL(MicrosoftIntermediateLanguage),这种语言不能直接被CPU执行,而是依靠.NETframework翻译(Just―in―timeCompiling)成opcode后再送到CPU执行的。因此,这也是上面为什么说C#运行效率最低的缘故。(平均意义上的效率低,不是绝对的)。
  C#可认为是C的升级加强版。C是一种优良的面向过程的程序设计语言,而且得到了普遍的推广。但是随着面向对象编程思想的兴起,C已经不能满足要求,因此继而出现了C++、Java、C#等。C#是Microsoft公司设计的一种编程语言。C#和Java都是在语法上借用了C的一些形式而已。跟C/C++没有多少联系了。C#松散地基于C/C++,并且有很多方面和Java类似。Microsoft是这样描述C#的:“C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#主要是从C/C++编程语言家族移植过来的,因此,C和C++的程序员会马上熟悉它。C#试图结合VisualBasic的快速开发能力和C++的强大灵活的能力。”
转载注明来源:https://www.xzbu.com/9/view-6742617.htm