自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5月編程語(yǔ)言排行榜:C++替代者風(fēng)采不再

原創(chuàng)
開(kāi)發(fā)
Tiobe近日公布了2009年5月的編程語(yǔ)言排行榜,本期榜單前十名沒(méi)有變化,Java、C、C++依然以絕對(duì)優(yōu)勢(shì)占據(jù)前三甲的位置;本期排行榜我們將把視線(xiàn)轉(zhuǎn)移到榜單的前20名,關(guān)注D語(yǔ)言的大幅下滑,一起回顧D語(yǔ)言的迅速崛起與沒(méi)落。

【51CTO獨(dú)家特稿】Tiobe近日公布了2009年5月的編程語(yǔ)言排行榜,本期榜單前十名沒(méi)有變化,Java、C、C++依然以絕對(duì)優(yōu)勢(shì)占據(jù)前三甲的位置;Visual Basic在4月出現(xiàn)了1.16%的下滑,但依舊以8.631%的占有率守住前五名的關(guān)口。本期前十名的語(yǔ)言分別是:Java、C、C++、PHP、Visual Basic、Python、C#、JavaScript、Perl、Ruby。


2009年5月TIOBE編程語(yǔ)言排行榜前20名榜單

 本期排行榜我們將把視線(xiàn)轉(zhuǎn)移到榜單的前20名,關(guān)注D語(yǔ)言的大幅下滑。2007年1月推出正式版的D語(yǔ)言以C++替代者的形象出現(xiàn)在程序員的視野,成長(zhǎng)迅速,在08年下半年到09年4月間的編程語(yǔ)言排行榜中一直保持著第十二名的位置,08年底還表現(xiàn)出沖擊前十的趨勢(shì);而在本期排行榜中,D語(yǔ)言急速下滑,跌至第十七位。本文將結(jié)合本期榜單,與您一起回顧D語(yǔ)言的迅速崛起與沒(méi)落。

D語(yǔ)言

D語(yǔ)言是由 Digital Mars公司的Walter Bright所開(kāi)發(fā)的面向?qū)ο蟆⒅噶钍?、多范型系統(tǒng)程式設(shè)計(jì)語(yǔ)言。D語(yǔ)言起源自C++,并受到C++很大的影響,不過(guò)D語(yǔ)言并不是 C++ 的變種。D語(yǔ)言對(duì) C++ 的部分特性重新設(shè)計(jì),并受到其它編程語(yǔ)言觀念的影響,如Java、C#以及Eiffel。D語(yǔ)言從2004年開(kāi)始開(kāi)發(fā),2007年1月2日釋出 1.0 穩(wěn)定版本。實(shí)驗(yàn)性版本2.0 釋出于2007年1月17日。


D語(yǔ)言歷年趨勢(shì)

 D語(yǔ)言特性

更多D語(yǔ)言特性介紹請(qǐng)參看本文第三頁(yè)D語(yǔ)言創(chuàng)始人Walter Bright錄制的視頻課程。

D語(yǔ)言的設(shè)計(jì)來(lái)自實(shí)際的C++ 用法的經(jīng)驗(yàn)教訓(xùn),而不是從理論的角度。盡管D 用到很多 C/C++ 觀念,D同時(shí)也廢除了某部分,因此D語(yǔ)言并不完全向后相容C/C++ 源代碼。D加入了 C++ 的功能,也實(shí)作了契約式設(shè)計(jì)(design by contract)、單元測(cè)試、真正的模組性、自動(dòng)化內(nèi)存管理(垃圾回收)、***類(lèi)陣列(first class array)、關(guān)聯(lián)陣列、動(dòng)態(tài)陣列、陣列切片、嵌套函式(巢狀函式)、內(nèi)部類(lèi)別、閉包的限制形式、匿名函式、編譯時(shí)期函式執(zhí)行、惰性計(jì)算以及革新的模板語(yǔ)法。D 保有 C++ 的性能以進(jìn)行低階程式設(shè)計(jì),并加入完整的內(nèi)聯(lián)組譯器支援。C++ 的多重繼承改以 Java 單繼承與接口混合的風(fēng)格取代。D 的宣告、語(yǔ)句和表達(dá)式語(yǔ)法幾乎和 C++ 一樣。

內(nèi)聯(lián)組譯器(inline assembler)象征著 D 和 Java、C# 等應(yīng)用編程語(yǔ)言的不同。內(nèi)聯(lián)組譯器讓程式員輸入機(jī)器特定的組合語(yǔ)言碼,如同標(biāo)準(zhǔn) D 代碼—通常由系統(tǒng)程式員使用的技術(shù),以存取處理器的低階功能,直接以硬件下的界面執(zhí)行程式,如操作系統(tǒng)以及驅(qū)動(dòng)程式。

D語(yǔ)言?xún)?nèi)建文檔支持,不過(guò)目前為止,只有 Digital Mars 實(shí)作版本提供文件產(chǎn)生器。

程式設(shè)計(jì)范型

D語(yǔ)言支援三種主要的程式設(shè)計(jì)范型—指令式、面向?qū)ο笠约霸淌皆O(shè)計(jì)。

指令式

指令式程式設(shè)計(jì)幾乎和C語(yǔ)言一樣。函式、資料、語(yǔ)句、宣告以及表達(dá)式的運(yùn)作就如同 C 一般,且可直接存取 C 執(zhí)行時(shí)期程式庫(kù)。

面向?qū)ο?/U>

在D語(yǔ)言里面的面向?qū)ο蟪淌皆O(shè)計(jì),是以單繼承分層結(jié)構(gòu),配合所有類(lèi)別衍伸自類(lèi)別物件為基礎(chǔ)。多重繼承可使用界面(界面很像 C++ 的抽象類(lèi)別)。

元程式設(shè)計(jì)

以模板組合、編譯時(shí)期函式執(zhí)行、多元組以及字串混合來(lái)支援元程式設(shè)計(jì)。

內(nèi)存管理

內(nèi)存通常以垃圾回收管理,不過(guò)當(dāng)這些物件超出作用域時(shí),可立即結(jié)束指定的物件。還是可以使用重載運(yùn)算子 new 和 delete,以及簡(jiǎn)單的直接呼叫 C 的 malloc 和 free 以進(jìn)行顯示的內(nèi)存管理。垃圾回收可禁用個(gè)別的物件或事件,以健全整個(gè)程式,如果在內(nèi)存管理上有更多的控制,則更為理想。當(dāng)垃圾回收在程式中有所不足時(shí),手冊(cè)還提供許多如何實(shí)作不同的高度***化內(nèi)存管理方案的范例。

與其它系統(tǒng)的相互作用

支援 C 的應(yīng)用程式二進(jìn)制接口(ABI),以及 C 的基本和衍伸型態(tài),就能直接存取現(xiàn)有的 C 代碼以及程式庫(kù)。C 的標(biāo)準(zhǔn)函式庫(kù)也是 D 標(biāo)準(zhǔn)的一部分。除非你使用非常清楚的命名空間,它可以稍微散亂的存取,因?yàn)樗⒉急榧坝?D 模組—不過(guò)純粹的 D 標(biāo)準(zhǔn)函式庫(kù)也通常夠用,除非要與 C 代碼接合。

并未完整支援 C++ 的 ABI,盡管 D 可以存取寫(xiě)給 C ABI 的 C++ 代碼,且可存取 C++ COM(元件物件模型)代碼。D 語(yǔ)法分析器了解外部(C++)呼叫約定,以連結(jié) C++ 物件,不過(guò)它只實(shí)作在目前的實(shí)驗(yàn)性 D 2.0。

D語(yǔ)言的崛起與沒(méi)落

從D語(yǔ)言的眾多特性中我們可以很容易看出它的愿景和野心。事實(shí)上,D語(yǔ)言經(jīng)過(guò)這兩年的發(fā)展的確在某些應(yīng)用中取代了C++甚至Java。

有很多人經(jīng)常拿C++、C#和Java來(lái)進(jìn)行比較。在使用感覺(jué)上,可能后兩種語(yǔ)言會(huì)使程序員更舒服一些,但在效率上C++會(huì)更勝一籌。這在有時(shí)會(huì)形成兩難的選擇。在D語(yǔ)言誕生之前是不可能在效率和易用性兼得的。但如果看一下D語(yǔ)言的介紹之后,你心中可能會(huì)砰然一動(dòng)。 D語(yǔ)言正是結(jié)合了C#、Java和C++以及PHP、Python等動(dòng)態(tài)語(yǔ)言的特性于一身。尤其是它提供的垃圾收集器并不同于Java和C#的垃圾回收。它的垃圾回收器并不依賴(lài)于虛擬機(jī),而是作為可執(zhí)行程序單獨(dú)來(lái)運(yùn)行的。這樣它的效率非常高。這也意味著這個(gè)類(lèi)似C++語(yǔ)法的計(jì)算機(jī)語(yǔ)言再也不用釋放內(nèi)存了,只要按需來(lái)分配內(nèi)存即可。

面向?qū)ο?、垃圾回收、?dòng)態(tài)性、跨平臺(tái),這些讓人心動(dòng)的誘人特性促使D語(yǔ)言迅速崛起,但這背后你總會(huì)有些懷疑,真的有如此***的語(yǔ)言嗎?

沒(méi)有“銀彈” 。D語(yǔ)言經(jīng)常限于“修正并改進(jìn)的 C++”。這會(huì)導(dǎo)致過(guò)分強(qiáng)調(diào)功能,這是因?yàn)闉镈語(yǔ)言加入新功能只是因?yàn)樗麄冋J(rèn)為有用(很像當(dāng)年的C++標(biāo)準(zhǔn)更新和現(xiàn)在的Java 7)。舉個(gè)例子,關(guān)聯(lián)陣列可簡(jiǎn)單的以標(biāo)準(zhǔn)函式庫(kù)實(shí)現(xiàn),而效率問(wèn)題成了編譯器和程序員共同的困惑。

此外,D語(yǔ)言的標(biāo)準(zhǔn)函式庫(kù)稱(chēng)作Phobos;這個(gè)庫(kù)被很多程序員認(rèn)為過(guò)分簡(jiǎn)單。tango編寫(xiě)另一個(gè)標(biāo)準(zhǔn)函式庫(kù)試圖修正這一部分,不過(guò) phobos和 tango 目前由于不同的API接口(導(dǎo)致垃圾回收困難)而互不相容。存在兩種事實(shí)上的標(biāo)準(zhǔn)函式庫(kù)可能導(dǎo)致更大的問(wèn)題,部分軟件使用phobos,而其它軟件使用tango。

我們可以簡(jiǎn)單的認(rèn)為Java的崛起是它對(duì)某些問(wèn)題的“解決”;而D語(yǔ)言的失敗則是他對(duì)C++某些問(wèn)題的“修正";目前D語(yǔ)言正在不斷改進(jìn),正有越來(lái)越多的程序員開(kāi)始接觸這門(mén)新興語(yǔ)言,讓我們期待D語(yǔ)言的發(fā)展。#p#

其他編程語(yǔ)言

以下是排名21到50的編程語(yǔ)言列表。

Position Programming Language Ratings
21 COBOL 0.474%
22 Lisp/Scheme 0.465%
23 ActionScript 0.441%
24 FoxPro/xBase 0.383%
25 Fortran 0.361%
26 Ada 0.351%
27 Scala 0.247%
28 LabVIEW 0.238%
29 PowerShell 0.232%
30 Prolog 0.224%
31 Transact-SQL 0.191%
32 Erlang 0.190%
33 Scratch 0.186%
34 Haskell 0.172%
35 Alice 0.162%
36 Awk 0.157%
37 Focus 0.149%
38 ML 0.141%
39 Objective-C 0.134%
40 NXT-G 0.132%
41 Groovy 0.132%
42 Smalltalk 0.125%
43 Tcl/Tk 0.119%
44 Forth 0.118%
45 Bourne shell 0.115%
46 CL (OS/400) 0.115%
47 Euphoria 0.114%
48 J 0.112%
49 Caml/F# 0.112%
50 VHDL 0.106%

下面是排名51-100的語(yǔ)言:

ABC, AD, Alpha, APL, Applescript, Beta, Boo, C shell, cg, Clean, Clojure, Cobra, cT, Curl, Dylan, Eiffel, Factor, Falcon, Icon, IDL, Inform, Io, Lingo, MAD, Magic, Maple, Mathematica, MAX/MSP, MOO, MUMPS, Natural, Occam, Oz, PILOT, PL/I, Postscript, PowerBuilder, Progress, Q, R, Revolution, REXX, S-lang, SIGNAL, SPSS, Squirrel, SuperCollider, VBScript, Verilog, XSLT

編程語(yǔ)言類(lèi)別

Category Ratings May 2009 Delta May 2008
Object-Oriented Languages 55.3% -0.2%
Procedural Languages 40.8% -0.6%
Functional Languages 2.7% +0.6%
Logical Languages 1.2% +0.2%

Category Ratings May 2009 Delta May 2008
Statically Typed Languages 58.3% +0.2%
Dynamically Typed Languages 41.7% -0.2%


靜態(tài)類(lèi)型和動(dòng)態(tài)類(lèi)型的語(yǔ)言走勢(shì)

#p#

D語(yǔ)言視頻課程

【歷期榜單回顧】

  1. 09年4月編程語(yǔ)言排行榜:腳本語(yǔ)言占據(jù)半壁江山
  2. 09年3月編程語(yǔ)言排行榜:Visual Basic與PHP的暗戰(zhàn)
  3. 09年2月編程語(yǔ)言排行榜:商業(yè)編程語(yǔ)言的王者之爭(zhēng)
  4. 09年1月編程語(yǔ)言排行榜:C語(yǔ)言當(dāng)選08年年度編程語(yǔ)言
  5. 12月TIOBE編程語(yǔ)言排行榜 C或C++有望奪得年度語(yǔ)言
  6. 11月TIOBE編程語(yǔ)言排行榜 可視化編程語(yǔ)言日漸流行
  7. 10月TIOBE編程語(yǔ)言排行榜發(fā)布 PowerShell跌落谷底
  8. 9月TIOBE編程語(yǔ)言排行榜發(fā)布 Delphi東山再起
  9. 8月TIOBE編程語(yǔ)言排行榜 Python上升顯著
  10. 7月開(kāi)發(fā)語(yǔ)言排行榜出爐 PowerShell有望成為年度黑馬
責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2015-07-13 10:52:15

TIOBE編程語(yǔ)言排行榜

2020-03-07 22:01:58

編程語(yǔ)言JavaPython

2017-09-08 10:58:49

JavaCC++

2015-07-13 10:43:42

C++編程語(yǔ)言排行

2010-05-17 09:04:50

動(dòng)態(tài)語(yǔ)言

2020-03-14 16:51:21

編程語(yǔ)言JavaDelphi

2009-11-11 10:35:59

2020-05-07 10:02:46

編程語(yǔ)言JavaC語(yǔ)言

2023-06-09 15:39:40

編程語(yǔ)言Python

2020-02-14 09:19:12

編程語(yǔ)言JavaPython

2021-07-07 05:42:24

編程語(yǔ)言開(kāi)發(fā)

2019-07-23 14:14:59

編程語(yǔ)言JavaPython

2020-08-13 11:55:33

編程語(yǔ)言JavaPython

2021-09-23 10:50:42

編程語(yǔ)言Python排行

2012-08-07 10:10:23

編程語(yǔ)言排行榜

2012-04-09 01:53:04

編程語(yǔ)言排行榜

2015-07-07 10:52:46

RedMonk編程語(yǔ)言

2009-10-05 09:46:12

編程語(yǔ)言排行榜Ruby

2013-07-30 10:00:36

RedMonk編程語(yǔ)言排行榜

2022-10-28 16:13:03

編程語(yǔ)言Java開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)