站長(cháng)交易(http://jy.chinaz.com)友情鏈接交換 企業(yè)建站找313建站大師,招分銷(xiāo)商
核心提示:2010年8月TIOBE發(fā)布了新一期的編程語(yǔ)言排行榜,我們看到前5名的位置還沒(méi)有變化,關(guān)鍵是第6名的C#與之后的Python互相調換了位置。這似乎對于.NET平臺來(lái)說(shuō)是一個(gè)好兆頭,畢竟C#是.NET平臺的一面旗幟。
2010年8月TIOBE發(fā)布了新一期的編程語(yǔ)言排行榜,我們看到前5名的位置還沒(méi)有變化,關(guān)鍵是第6名的C#與之后的Python互相調換了位置。這似乎對于.NET平臺來(lái)說(shuō)是一個(gè)好兆頭,畢竟C#是.NET平臺的一面旗幟。
下面我們先看一下本期的排行榜榜單。


C#的降生
最初C#并不叫C#,它有個(gè)更酷的名字,叫做COOL。微軟從1998年12月開(kāi)始了COOL項目,直到1999年7月,COOL被正式更名為C#。在英文中#被讀作Sharp,意味“鋒利”??磥?lái)微軟是希望能把C#鍛造成一把無(wú)比鋒利的刀。
微軟在經(jīng)歷了與Sun關(guān)于Visual J++的大規??谒毯?,不得不舍棄原有的Visual J++項目,轉而提出了CLR也就是公共語(yǔ)言運行時(shí)的概念。
2000年6月26日微軟在奧蘭多舉行的“職業(yè)開(kāi)發(fā)人員技術(shù)大會(huì )”(PDC 2000)上,發(fā)表新的語(yǔ)言C#。C#語(yǔ)言取代了Visual J++,語(yǔ)言本身深受Java、C和C++的影響。在講述了微軟C#的誕生過(guò)程后,我們不得不提到一位天才——Anders Hejlsberg(安德斯-海森博格)。
天才的海森博格VS精明的蓋茨
Anders Hejlsberg(安德斯-海森博格)作為Delphi和C#之父,從Turbo Pascal、SideKick再到Delphi,Borland是Anders輝煌的起點(diǎn),他在這里成為人們敬仰的軟件大師,并一手鑄就了 Borland傳奇。但是1996年一個(gè)普通的下午,幾個(gè)小時(shí)前,他剛與比爾-蓋茨結束了一次愉快的午餐,同為軟件界的精英,他們相談甚歡,蓋茨給他開(kāi)出 三百萬(wàn)以上的年薪和數萬(wàn)股的微軟股票。這是一個(gè)誘人的條件,但更重要的是,蓋茨許諾他可以有充分的時(shí)間和資源投身自己感興趣的技術(shù)方向。
1996年,Anders最終正式加盟微軟,成為Visual J++和WFC(Windows基礎類(lèi)庫)的架構師?,F在A(yíng)nders Hejlsberg是微軟的Technical Fellow,擔任C#編程語(yǔ)言的首席架構師,也參與了.NET Framework、VB.NET和F#等語(yǔ)言的設計與開(kāi)發(fā)。
很難說(shuō)到底是海森伯格的天才征服了蓋茨,還是精明的蓋茨成功籠絡(luò )到海森伯格。但是不可否認的是,正是海森伯格的加入,使得微軟擁有了C#這一柄 十分鋒利的刀。讓微軟得以在開(kāi)發(fā)領(lǐng)域占據屬于自己的一片份額,取得與Java分庭抗禮的資格,盡管C#在很多地方借鑒了Java的思想。
利刃的威力
微軟C#語(yǔ)言定義主要是從C和C++繼承而來(lái)的,而且語(yǔ)言中的許多元素也反映了這一點(diǎn)。C#在設計者從C++繼承的可選選項方面比Java要廣 泛一些(比如說(shuō)struts),它還增加了自己新的特點(diǎn)(比方說(shuō)源代碼版本定義)。但它還太不成熟,不可能擠垮Java。C#還需要進(jìn)化成一種開(kāi)發(fā)者能夠 接受和采用的語(yǔ)言。
C#更像Java一些,雖然微軟在這個(gè)問(wèn)題上保持沉默。這也是意料中的事情,我覺(jué)得,因為Java近來(lái)很成功而使用Java的公司都報告說(shuō)它們在生產(chǎn)效率上比C++獲得了提高。
Java所帶來(lái)的巨大影響和大家對它的廣泛接受已經(jīng)由工作于這種語(yǔ)言和平臺之上的程序員數量明顯的說(shuō)明了(估計世界范圍內共有兩百五十萬(wàn)程序員 使用Java)。由這種語(yǔ)言寫(xiě)成的應用程序的數量是令人驚訝的并已經(jīng)滲透了每一個(gè)級別的計算,包括無(wú)線(xiàn)計算和移動(dòng)電話(huà)(比如日本發(fā)明的Java電話(huà))。
C#能夠在用戶(hù)領(lǐng)域獲得這樣的禮遇嗎?我們必須等待并觀(guān)望,就像已經(jīng)由SSI公司的CEO和主席Kalpathi S. Suresh指出來(lái)的那樣,“我發(fā)現所有這些都是漸進(jìn)的。如果C#不存在,我們總能回到Java或C和C++.這些都不完全是新技術(shù);它們在更大的意義上 來(lái)說(shuō)只是大公司制造的市場(chǎng)噱頭。我們必須給他們時(shí)間安頓下來(lái)看看這些是不是真的對IT工業(yè)有什么影響。”
C#從一開(kāi)始就是純粹的OOPL(面向對象程序開(kāi)發(fā)語(yǔ)言)。C#中的一切都是對象:基本的值類(lèi)型,如int和double,都從Object類(lèi)繼承而來(lái)。
所有的圖形用戶(hù)界面(Graphical User Interface,GUI)構件--窗口、按鈕、文本輸入欄、滾動(dòng)欄、列表和菜單等--都是對象。所有函數都附加到對象上,這些函數稱(chēng)為方法。 C/C++中有脫離對象的方法,而C#中沒(méi)有。甚至是C#程序的入口點(diǎn)(現在稱(chēng)為Main方法)都不再獨立存在,而是被綁定到類(lèi)中。
因此,C#特別適合于編寫(xiě)面向對象的應用程序,然而僅僅使用這種面向對象的語(yǔ)言并不能保證所產(chǎn)生的應用程序真正做到面向對象!除此之外,您必須 理解兩個(gè)基本目標:(a)如何從根本上設計應用程序以最有效地使用對象;(b)如何正確地使用C#語(yǔ)言。對于更加具體的技術(shù)細節,請參考上面的C#基礎教程。

前10名編程語(yǔ)言趨勢走向
其他語(yǔ)言及排名
編程語(yǔ)言類(lèi)別

英文原文:TIOBE Programming Community Index for August 2010
August Headline: Dinosaur Smalltalk falls off top 50
聯(lián)系客服