8月編程語(yǔ)言排行:微軟鋒利的刀C#超Python
2010年8月TIOBE發(fā)布了新一期的編程語(yǔ)言排行榜,我們看到前5名的位置還沒(méi)有變化,關(guān)鍵是第6名的C#與之后的Python互相調(diào)換了位置。這似乎對(duì)于.NET平臺(tái)來(lái)說(shuō)是一個(gè)好兆頭,畢竟C#是.NET平臺(tái)的一面旗幟。
下面我們先看一下本期的排行榜榜單。
Position Aug 2010 |
Position Aug 2009 |
Delta in Position | Programming Language | Ratings Jul 2010 |
Delta Jul 2009 |
Status |
---|---|---|---|---|---|---|
1 | 1 | ![]() |
Java | 17.994% | -1.53% | A |
2 | 2 | ![]() |
C | 17.866% | +0.65% | A |
3 | 3 | ![]() |
C++ | 9.658% | -0.84% | A |
4 | 4 | ![]() |
PHP | 9.180% | -0.21% | A |
5 | 5 | ![]() |
(Visual) Basic | 5.413% | -3.07% | A |
6 | 7 | ![]() |
C# | 4.986% | +0.54% | A |
7 | 6 | ![]() |
Python | 4.223% | -0.27% | A |
8 | 8 | ![]() |
Perl | 3.427% | -0.60% | A |
9 | 19 | ![]() |
Objective-C | 3.150% | +2.54% | A |
10 | 11 | ![]() |
Delphi | 2.428% | +0.09% | A |
11 | 9 | ![]() |
JavaScript | 2.401% | -0.41% | A |
12 | 10 | ![]() |
Ruby | 1.979% | -0.51% | A |
13 | 12 | ![]() |
PL/SQL | 0.757% | -0.23% | A |
14 | 13 | ![]() |
SAS | 0.715% | -0.10% | A |
15 | 20 | ![]() |
MATLAB | 0.627% | +0.07% | B |
16 | 18 | ![]() |
Lisp/Scheme/Clojure | 0.626% | 0.00% | B |
17 | 16 | ![]() |
Pascal | 0.622% | -0.05% | B |
18 | 15 | ![]() |
ABAP | 0.616% | -0.12% | B |
19 | 14 | ![]() |
RPG (OS/400) | 0.606% | -0.15% | B |
20 | - | ![]() |
Go | 0.603% | 0.00% | B |
C#的降生
最初C#并不叫C#,它有個(gè)更酷的名字,叫做COOL。微軟從1998年12月開(kāi)始了COOL項(xiàng)目,直到1999年7月,COOL被正式更名為C#。在英文中#被讀作Sharp,意味“鋒利”。看來(lái)微軟是希望能把C#鍛造成一把無(wú)比鋒利的刀。
微軟在經(jīng)歷了與Sun關(guān)于Visual J++的大規(guī)模口水仗后,不得不舍棄原有的Visual J++項(xiàng)目,轉(zhuǎn)而提出了CLR也就是公共語(yǔ)言運(yùn)行時(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í)前,他剛與比爾-蓋茨結(jié)束了一次愉快的午餐,同為軟件界的精英,他們相談甚歡,蓋茨給他開(kāi)出 三百萬(wàn)以上的年薪和數(shù)萬(wàn)股的微軟股票。這是一個(gè)誘人的條件,但更重要的是,蓋茨許諾他可以有充分的時(shí)間和資源投身自己感興趣的技術(shù)方向。
1996年,Anders最終正式加盟微軟,成為Visual J++和WFC(Windows基礎(chǔ)類庫(kù))的架構(gòu)師。現(xiàn)在Anders Hejlsberg是微軟的Technical Fellow,擔(dān)任C#編程語(yǔ)言的首席架構(gòu)師,也參與了.NET Framework、VB.NET和F#等語(yǔ)言的設(shè)計(jì)與開(kāi)發(fā)。
很難說(shuō)到底是海森伯格的天才征服了蓋茨,還是精明的蓋茨成功籠絡(luò)到海森伯格。但是不可否認(rèn)的是,正是海森伯格的加入,使得微軟擁有了C#這一柄 十分鋒利的刀。讓微軟得以在開(kāi)發(fā)領(lǐng)域占據(jù)屬于自己的一片份額,取得與Java分庭抗禮的資格,盡管C#在很多地方借鑒了Java的思想。
利刃的威力
微軟C#語(yǔ)言定義主要是從C和C++繼承而來(lái)的,而且語(yǔ)言中的許多元素也反映了這一點(diǎn)。C#在設(shè)計(jì)者從C++繼承的可選選項(xiàng)方面比Java要廣 泛一些(比如說(shuō)struts),它還增加了自己新的特點(diǎn)(比方說(shuō)源代碼版本定義)。但它還太不成熟,不可能擠垮Java。C#還需要進(jìn)化成一種開(kāi)發(fā)者能夠 接受和采用的語(yǔ)言。
C#更像Java一些,雖然微軟在這個(gè)問(wèn)題上保持沉默。這也是意料中的事情,我覺(jué)得,因?yàn)镴ava近來(lái)很成功而使用Java的公司都報(bào)告說(shuō)它們?cè)谏a(chǎn)效率上比C++獲得了提高。
Java所帶來(lái)的巨大影響和大家對(duì)它的廣泛接受已經(jīng)由工作于這種語(yǔ)言和平臺(tái)之上的程序員數(shù)量明顯的說(shuō)明了(估計(jì)世界范圍內(nèi)共有兩百五十萬(wàn)程序員 使用Java).由這種語(yǔ)言寫(xiě)成的應(yīng)用程序的數(shù)量是令人驚訝的并已經(jīng)滲透了每一個(gè)級(jí)別的計(jì)算,包括無(wú)線計(jì)算和移動(dòng)電話(比如日本發(fā)明的Java電話)。
C#能夠在用戶領(lǐng)域獲得這樣的禮遇嗎?我們必須等待并觀望,就像已經(jīng)由SSI公司的CEO和主席Kalpathi S. Suresh指出來(lái)的那樣,"我發(fā)現(xiàn)所有這些都是漸進(jìn)的.如果C#不存在,我們總能回到Java或C和C++.這些都不完全是新技術(shù);它們?cè)诟蟮囊饬x上 來(lái)說(shuō)只是大公司制造的市場(chǎng)噱頭。我們必須給他們時(shí)間安頓下來(lái)看看這些是不是真的對(duì)IT工業(yè)有什么影響。"
C#從一開(kāi)始就是純粹的OOPL(面向?qū)ο蟪绦蜷_(kāi)發(fā)語(yǔ)言)。C#中的一切都是對(duì)象:基本的值類型,如int和double,都從Object類繼承而來(lái)。
所有的圖形用戶界面(Graphical User Interface,GUI)構(gòu)件--窗口、按鈕、文本輸入欄、滾動(dòng)欄、列表和菜單等--都是對(duì)象。所有函數(shù)都附加到對(duì)象上,這些函數(shù)稱為方法。 C/C++中有脫離對(duì)象的方法,而C#中沒(méi)有。甚至是C#程序的入口點(diǎn)(現(xiàn)在稱為Main方法)都不再獨(dú)立存在,而是被綁定到類中。
因此,C#特別適合于編寫(xiě)面向?qū)ο蟮膽?yīng)用程序,然而僅僅使用這種面向?qū)ο蟮恼Z(yǔ)言并不能保證所產(chǎn)生的應(yīng)用程序真正做到面向?qū)ο螅〕酥猓仨?理解兩個(gè)基本目標(biāo):(a)如何從根本上設(shè)計(jì)應(yīng)用程序以最有效地使用對(duì)象;(b)如何正確地使用C#語(yǔ)言。對(duì)于更加具體的技術(shù)細(xì)節(jié),請(qǐng)參考上面的C#基礎(chǔ)教 程。
前10名編程語(yǔ)言趨勢(shì)走向
其他語(yǔ)言及排名
Position | Programming Language | Ratings |
---|---|---|
21 | PowerShell | 0.579% |
22 | Transact-SQL | 0.558% |
23 | Lua | 0.527% |
24 | D | 0.462% |
25 | FoxPro/xBase | 0.451% |
26 | ActionScript | 0.451% |
27 | S-lang | 0.414% |
28 | LabVIEW | 0.400% |
29 | Ada | 0.398% |
30 | Bourne shell | 0.395% |
31 | JavaFX Script | 0.390% |
32 | COBOL | 0.388% |
33 | NXT-G | 0.385% |
34 | Alice | 0.352% |
35 | Fortran | 0.351% |
36 | Haskell | 0.334% |
37 | Logo | 0.318% |
38 | Scratch | 0.316% |
39 | Forth | 0.270% |
40 | CL (OS/400) | 0.265% |
41 | Tcl/Tk | 0.261% |
42 | C shell | 0.255% |
43 | Prolog | 0.243% |
44 | Groovy | 0.234% |
45 | ML | 0.234% |
46 | cT | 0.233% |
47 | Caml/F# | 0.229% |
48 | Scala | 0.220% |
49 | Erlang | 0.219% |
50 | VHDL | 0.218% |
編程語(yǔ)言類別
Category | Ratings Aug 2010 | Delta Aug 2009 |
---|---|---|
Object-Oriented Languages | 54.9% | +0.6% |
Procedural Languages | 40.5% | -1.0% |
Functional Languages | 3.1% | +0.2% |
Logical Languages | 1.5% | +0.2% |
Category | Ratings Aug 2010 | Delta Aug 2009 |
---|---|---|
Statically Typed Languages | 62.2% | +2.5% |
Dynamically Typed Languages | 37.8% | -2.5% |
英文原文:TIOBE Programming Community Index for August 2010August Headline: Dinosaur Smalltalk falls off top 50
(cnblogs)