2011年3月編程語言排行榜:用Ada向人類首位程序員致敬
原創【51CTO獨家特稿】3月9日,Tiobe發布了最新的編程語言排行榜。Java與C語言繼續占據頭兩位排名,C++還在繼續上升中,而PHP和VB則在下降。本期編程語言排行榜還是將會給大家介紹一門古典語言——Ada。
Ada語言在上世紀80年代還非?;馃幔浥噬骄幊陶Z言排行榜的第二位,即使在2011年,也能排在20強的位置。這無疑證明了Ada的生命力,盡管它并沒有Java或者C語言的光芒。
推薦專題:51CTO編程語言排行榜專題
先說Ada下的Hallo World
- with Ada.Text_IO;
- procedure Hello is
- begin
- Ada.Text_IO.Put_Line("Hello, world!");
- end Hello;
Ada語言:軍方的寵兒
Ada是一種表現能力很強的通用程序設計語言,它是美國國防部為克服軟件開發危機,耗費巨資,歷時近20年研制成功的。它被譽為第四代計算機語言的成功代表。美國國防部之所以把這種語言取名為Ada,是為了紀念奧古斯特·艾達·洛夫萊斯伯爵夫人(Augusta Ada Lovlace,1815-1852),她是英格蘭詩人拜倫(Byron)勛爵的女兒,曾對現代計算機技術之父查爾斯·巴貝奇(Charles Babage,1791-1871)的筆記、手稿進行了整理和修正。從某種意義上說,她是世界上第一位計算機程序員,而3月24日恰恰正是“Ada Lovelace Day”,這正是51CTO在3月編程榜里向各位介紹Ada的原因,請大家向這位偉大的程序員致敬。
現代計算機技術之父查爾斯·巴貝奇Charles Babage
與其他流行的程序設計語言不同,Ada語言不僅體現了許多現代軟件的開發原理,而且將這些原理付諸實現。因此,Ada語言的使用可大大改善軟件系統的清晰性、可靠性、有效性、可維護性。Ada是現有的語言中無與倫比的一種大型通用程序設計語言,它是現代計算機語言的成功代表,集中反映了程序語言研究的成果。Ada的出現,標志著軟件工程成功地進入了國家和國際的規模。在一定意義上說,Ada還刺破了“馮·偌依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的支持環境(APSE)一起,形成了新一派的所謂Ada文化。它是迄今為止最復雜、最完備的軟件工具。Ada語言是美國國防部指定的唯一的一種可用于軍用系統開發的語言,我國軍方也將Ada作為軍內開發標準(GJB 1383《程序設計語言Ada》)。
Ada特征談:嚴謹得難以閱讀
一門好的編程語言肯定是一門嚴謹的語言,但它不一定是最方便的語言。Ada就是一個典型的例子。
Ada語言最早是針對嵌入式和實時系統設計的,并且在今天依然在這方面使用廣泛。Ada95版,是由INTERMETRICS公司的塔克。塔夫特于92到95年間設計的,當時主要是希望改進對于 系統,數字,財務軟件編程的支持。
Ada架構圖
Ada語言的重要特征就是其鍵入式風格,模塊化設計,編譯檢查,平行處理,異常處理及泛型編程。Ada在95年加入了對面向對象設計的支持,包括動態分配等。
Ada的編譯檢查主要是針對沒有分配的內存讀寫的保護,堆棧溢出錯誤,單個錯誤空閑,隊列讀寫錯誤以及其他可以避免的小問題。這些檢查可以在為增加效率的情況下被取消,但是在編譯的時候他們卻能帶來很高的效率。同樣它也包括對程序的嚴正的設置。因為這些原因,它被廣泛應用于一些非常重要的系統中,例如航空電子學,武器及航天飛行器的操作系統中。
同樣它支持很多的編譯時間檢查,這些檢查被用來避免一些錯誤的發生。這種錯誤往往是在其他語言中在運行以前都不能被察覺到的,需要在源碼中加入特殊的檢查設置才能被發現。
Ada的動態內存管理非常安全和高規格,它類似于Java語言卻不同于C語言的。這種特殊功能并不需要特殊的運行設置。盡管這種語言的語意結構允許對于不能讀寫的目標進行自動的碎片搜集,但是大多數運行都不支持它。Ada卻支持有限形式基于區域的存儲管理。無效的讀寫常在運行時候被檢查出來(除非這種檢測被人為關閉)并且有時候在編譯時候就被發現。
Ada語言的定義同國際標準化組織(ISO)的標準有很大不同,因為他是一個自由內容形式的。這種做法的后果是被廣大程序員只能從它的標準化文檔(普遍認為是Ada的參考使用手冊(ARM))尋找細節性的技術問題,但是普遍情況是一本標準教科書卻可以在其他不同語言上使用。
Ada語言由嚴格的巴斯特范式定義,但是不適合一般人閱讀.它是第一種同時擁有IEC/ISO/美國軍用標準認證的語言.其編譯器經過嚴格的審查,以確保同樣的代碼在任一編譯器上產生同樣的可執行效果.并且保證并行性在代碼級可以在無操作系統下同樣運行。
Ada官方網站鏈接:http://www.adahome.com/
#p#
前10名編程語言趨勢走向
20到50名語言排行
Position | Programming Language | Ratings |
---|---|---|
21 | RPG (OS/400) | 0.570% |
22 | Visual Basic .NET | 0.563% |
23 | Transact-SQL | 0.550% |
24 | R | 0.489% |
25 | Groovy | 0.457% |
26 | SAS | 0.452% |
27 | MATLAB | 0.452% |
28 | ABAP | 0.425% |
29 | Scratch | 0.412% |
30 | PL/SQL | 0.408% |
31 | Haskell | 0.407% |
32 | Logo | 0.402% |
33 | D | 0.399% |
34 | Object Pascal | 0.361% |
35 | Fortran | 0.350% |
36 | Alice | 0.338% |
37 | Forth | 0.335% |
38 | COBOL | 0.326% |
39 | Erlang | 0.301% |
40 | Bash | 0.291% |
41 | ML | 0.289% |
42 | MAD | 0.274% |
43 | APL | 0.272% |
44 | Scala | 0.257% |
45 | F# | 0.247% |
46 | ActionScript | 0.236% |
47 | Smalltalk | 0.233% |
48 | C shell | 0.230% |
49 | CL (OS/400) | 0.226% |
50 | Prolog | 0.225% |
下面給出了編程語言類別的一年變化趨勢。
【編輯推薦】