浅析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++的強大靈活的能力。”
最后,學習從來不是一個人的事情,要有個相互監督的伙伴,對于C/C++感興趣可以搜素千人群:C/C++學習編程13群(jack建立)有興趣交流或者了解一下的可以進來交流,另外進群就可以領取相關的學習資料哦
總結
- 上一篇: 世界是你们的,也是我们的,但终究是他们的
- 下一篇: 套用这8种数据治理方法,解决90%的数据