12月編程語言排行榜:觸摸經典語言化石之Lisp

 

    【51CTO獨家特稿】Tiboe今日發佈了2010年最後一期編程語言排行榜,在本期榜單中前五名依然是Java、C、C++、PHP和C#。Tiobe官網給出本期主題是「一直上升的C#和一直降低的Visual Basic」。同時,Tiobe還透露了2010年年度編程語言的一些消息,今年,C#語言年度增幅6.687%,但依然不足以贏得年度語言,最有可能的是Objective-C和Python。程序員

    編程語言排行榜(2010年12月) 
    12月編程語言排行榜Top 20shell

    從本期開始,51CTO將挑選編程榜中的「經典」語言進行回顧。它們基本都經歷了長達半個世紀的計算機技術變遷,現在依然發揮着重要做用;這些語言在剛創立時都以超前的技術思想和理念震驚業界,現在,這些思想和理念像基因同樣深深融入每一種高級語言,並被咱們普遍應用。express

    咱們試圖觸摸這些經典語言化石,讓您瞭解在編程語言發展史上的一座座豐碑。在當時所處的年代,他們解放了計算機從業人員的生產力,也奠基了現代高級計算機語言的雛形。值得咱們細細回味。編程

    Lisp,由編程語言到編程思想架構

    Lisp誕生於上世紀60年代,由圖靈獎得主約翰·麥卡錫創造;全名LISt Processor,能夠理解爲鏈表處理語言。在今年曆期的編程語言排行榜中,Lisp都有上佳表現,從五月份的榜單開始進入前20名(這個排名一部分來自Lisp自己和它的方言Scheme和Clojure)。框架

    簡單來講,Lisp是一門關於列表操做的編程語言,在Lisp中,不管是數據仍是程序流程代碼都由列表組成;而每一個列表都由一些原子和列表組成;數字就是原子。下面是一段Lisp簡單的代碼示例:編程語言

       
       
                
       
       
    1. > (first '(lions tigers bears))  
    2.  
    3. LIONS  
    4.  
    5. > (rest '(lions tigers bears))  
    6.  
    7. (TIGERS BEARS)  
    8.  

    在編程語言史上,Lisp表明了一種重要的編程思想,在與Lisp同時代同影響力的編程語言還有Fortran,這兩門語言從兩個不一樣的方向直接影響着現代高級編程語言進化。Lisp的基礎是數學和邏輯,而Fortran表明的是與硬件架構的依附與融合。Lisp在建立之初就定義了現代語言廣爲流行的幾種編程思想,其中2種至今仍然是Lisp所獨有的。它們是:ide

    一、條件結構,即if-then-else函數式編程

    二、函數也是一種數據類型。在Lisp語言中,函數與整數或字符串同樣,也屬於數據類型的一種。函數

    三、遞歸,Lisp第一次在編程語言中提出遞歸的概念並實現。

    四、變量的動態類型。在Lisp語言中,全部變量實際上都是指針。

    五、垃圾回收機制。這個無需解釋了吧。

    六、程序由表達式(expression)組成。Lisp程序是一些表達式區塊的集合,每一個表達式都返回一個值。

    七、符號(symbol)類型。符號其實是一種指針,指向儲存在哈希表中的字符串。

    八、代碼使用符號和常量組成的樹形表示法

    九、不管何時,整個語言都是可用的。Lisp並不真正區分讀取期、編譯期和運行期。你能夠在讀取期編譯或運行代碼;也能夠在編譯期讀取或運行代碼。

    這些思想被普遍應到到現代編程語言的設計中。若是你熟悉的語言足夠多,能夠看出這樣的趨向,Java、Perl、Python、Ruby,語言越是進化越在思想上向Lisp靠攏。

    通過半個多世紀的發展,Lisp依然表現出旺盛的生命力,這與其兩門方言的流行和普及有關,它們是Scheme和Clojure。Scheme具備很好的移植性和嵌入性,因爲其解釋語言的特性,不一樣的平臺的都有相應的解釋器;Scheme另外一個特色就是解釋器很是小巧,能夠做爲一門腳本語言內嵌於不少工具之中,例如GNU。Lisp的另外一門方言是當今在JVM平臺大紅大紫的Clojure,帶着Lisp的語言特性,具有良好動態函數式編程的Clojure能夠編譯爲字節碼在JVM上運行。

    編程語言不只僅是一種技術,它更是一種思惟習慣。不一樣的語言用不一樣的方式影響咱們的大腦思惟,這並非由於這種語言可讓咱們這樣思考問題,而是它在強迫你這樣思考。現在,Lisp更多做爲一種編程思想存在,而基於其特性和思惟的方言在各自的領域大爲流行和發展。能夠說,當今的Lisp已經不僅是一種編程語言,更是一種重要的編程思想和思惟方式。網上有人撰文稱:程序員要學的最後一門語言就是Lisp。

    下面是本期編程語言排行榜的其餘排名數據和趨勢走向。咱們重點關注C#和Scala兩名語言。

相關文章
相關標籤/搜索