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

2010年12月編程語言排行榜:觸摸經(jīng)典語言化石之Lisp

原創(chuàng)
開發(fā)
Tiboe今日發(fā)布了2010年最后一期編程語言排行榜,并透露了一些2010年度編程語言的消息。本期編程榜51CTO帶您回顧經(jīng)典編程語言Lisp,我們試圖觸摸這些經(jīng)典語言化石,讓您了解在編程語言發(fā)展史上的一座座豐碑。

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

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

從本期開始,51CTO將挑選編程榜中的“經(jīng)典”語言進(jìn)行回顧。它們基本都經(jīng)歷了長達(dá)半個世紀(jì)的計算機(jī)技術(shù)變遷,如今依然發(fā)揮著重要作用;這些語言在剛創(chuàng)立時都以超前的技術(shù)思想和理念震驚業(yè)界,如今,這些思想和理念像基因一樣深深融入每一種高級語言,并被我們廣泛應(yīng)用。

我們試圖觸摸這些經(jīng)典語言化石,讓您了解在編程語言發(fā)展史上的一座座豐碑。在當(dāng)時所處的年代,他們解放了計算機(jī)從業(yè)人員的生產(chǎn)力,也奠定了現(xiàn)代高級計算機(jī)語言的雛形。值得我們細(xì)細(xì)回味。

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

Lisp誕生于上世紀(jì)60年代,由圖靈獎得主約翰·麥卡錫創(chuàng)造;全名LISt Processor,可以理解為鏈表處理語言。在今年歷期的編程語言排行榜中,Lisp都有上佳表現(xiàn),從五月份的榜單開始進(jìn)入前20名(這個排名一部分來自Lisp本身和它的方言Scheme和Clojure)。

簡單來說,Lisp是一門關(guān)于列表操作的編程語言,在Lisp中,無論是數(shù)據(jù)還是程序流程代碼都由列表組成;而每個列表都由一些原子和列表組成;數(shù)字就是原子。下面是一段Lisp簡單的代碼示例:

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

在編程語言史上,Lisp代表了一種重要的編程思想,在與Lisp同時代同影響力的編程語言還有Fortran,這兩門語言從兩個不同的方向直接影響著現(xiàn)代高級編程語言進(jìn)化。Lisp的基礎(chǔ)是數(shù)學(xué)和邏輯,而Fortran代表的是與硬件架構(gòu)的依附與融合。Lisp在創(chuàng)建之初就定義了現(xiàn)代語言廣為流行的幾種編程思想,其中2種至今仍然是Lisp所獨有的。它們是:

1、條件結(jié)構(gòu),即if-then-else

2、函數(shù)也是一種數(shù)據(jù)類型。在Lisp語言中,函數(shù)與整數(shù)或字符串一樣,也屬于數(shù)據(jù)類型的一種。

3、遞歸,Lisp第一次在編程語言中提出遞歸的概念并實現(xiàn)。

4、變量的動態(tài)類型。在Lisp語言中,所有變量實際上都是指針。

5、垃圾回收機(jī)制。這個無需解釋了吧。

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

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

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

9、無論什么時候,整個語言都是可用的。Lisp并不真正區(qū)分讀取期、編譯期和運(yùn)行期。你可以在讀取期編譯或運(yùn)行代碼;也可以在編譯期讀取或運(yùn)行代碼。

這些思想被廣泛應(yīng)到到現(xiàn)代編程語言的設(shè)計中。如果你熟悉的語言足夠多,可以看出這樣的趨向,Java、Perl、Python、Ruby,語言越是進(jìn)化越在思想上向Lisp靠攏。

經(jīng)過半個多世紀(jì)的發(fā)展,Lisp依然表現(xiàn)出旺盛的生命力,這與其兩門方言的流行和普及有關(guān),它們是Scheme和Clojure。Scheme具有很好的移植性和嵌入性,由于其解釋語言的特性,不同的平臺的都有相應(yīng)的解釋器;Scheme另一個特點就是解釋器非常小巧,可以作為一門腳本語言內(nèi)嵌于很多工具之中,例如GNU。Lisp的另一門方言是當(dāng)今在JVM平臺大紅大紫的Clojure,帶著Lisp的語言特性,具備良好動態(tài)函數(shù)式編程的Clojure可以編譯為字節(jié)碼在JVM上運(yùn)行。

編程語言不僅僅是一種技術(shù),它更是一種思維習(xí)慣。不同的語言用不同的方式影響我們的大腦思維,這并不是因為這種語言可以讓我們這樣思考問題,而是它在強(qiáng)迫你這樣思考。如今,Lisp更多作為一種編程思想存在,而基于其特性和思維的方言在各自的領(lǐng)域大為流行和發(fā)展。可以說,當(dāng)今的Lisp已經(jīng)不只是一種編程語言,更是一種重要的編程思想和思維方式。網(wǎng)上有人撰文稱:程序員要學(xué)的最后一門語言就是Lisp。

下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢走向。我們重點關(guān)注C#和Scala兩名語言。#p#

前10名編程語言趨勢走向

在最近10年里,C#語言一直保持著上揚(yáng)趨勢,已成為微軟平臺的主力編程語言。詳細(xì)請參考之前的編程語言排行榜:微軟鋒利的刀C# 。

編程語言排行榜Top10

 

其他編程語言及趨勢

下面是本期榜單第21-50的編程語言排名,Go語言小幅上升,但仍沒進(jìn)入前20名的榜單。

Position Programming Language Ratings
21 Go 0.587%
22 NXT-G 0.583%
23 PL/SQL 0.566%
24 PowerShell 0.552%
25 ABAP 0.547%
26 R 0.544%
27 Lua 0.503%
28 Object Pascal 0.496%
29 Scheme 0.493%
30 Awk 0.460%
31 Fortran 0.435%
32 C shell 0.398%
33 D 0.397%
34 COBOL 0.391%
35 Tcl 0.365%
36 Logo 0.361%
37 ActionScript 0.349%
38 CL (OS/400) 0.339%
39 APL 0.338%
40 Scratch 0.332%
41 JavaFX Script 0.307%
42 Haskell 0.301%
43 PL/I 0.291%
44 Prolog 0.283%
45 Visual Basic .NET 0.259%
46 Korn shell 0.247%
47 Forth 0.247%
48 Q 0.244%
49 Erlang 0.242%
50 IDL 0.233%

下面是第50到100的編程語言排名

本期榜單,我們在50-100名的區(qū)間里看到了Scala,上期Scala排名第50位,本期再度下滑。

(Visual) FoxPro, ABC, Algol, Alice, Bash, bc, Beta, Bourne shell, C++/CLI, CFML, cg, Clean, cT, Curl, Dylan, Eiffel, Euphoria, F#, Factor, Groovy, Icon, Io, J, JScript.NET, LabVIEW, LabWindows/CVI, MAD, MAX/MSP, ML, Modula-2, MUMPS, Natural, Oberon, Objective Caml, Occam, Oz, Postscript, PowerBuilder, REALbasic, Rebol, S, Scala, SIGNAL, Smalltalk, SPSS, Standard ML, Verilog, VHDL, XBase, XSLT

編程語言類別

下面給出了編程語言類別的一年變化趨勢。

Category Ratings Nov 2010 Delta Nov 2009
Object-Oriented Languages 56.7% +2.4%
Procedural Languages 38.0% -3.5%
Functional Languages 3.6% +0.7%
Logical Languages 1.7% +0.4%

動態(tài)和靜態(tài)語言趨勢走向

Category Ratings Nov 2010 Delta Nov 2009
Statically Typed Languages 63.1% +4.1%
Dynamically Typed Languages 36.9% -4.1%

 

動態(tài)語言與靜態(tài)語言走向

 

2010年榜單回顧

  1. 11月編程語言排行榜:手機(jī)里的代碼
  2. 10月編程語言排行榜:Java的混亂之治
  3. 9月編程語言排行榜:Perl 不走尋常路
  4. 8月編程語言排行榜:微軟鋒利的刀C#
  5. 7月編程語言排行榜:這里有支足球隊
  6. 6月編程語言排行榜:框架之翼
  7. 5月編程語言排行榜:動態(tài)語言的前世今生
  8. 4月編程語言排行榜:Top20里的“陌生人”
  9. 3月編程語言排行榜:Fortran歸來
  10. 2月編程語言排行榜:Objective-C的詠嘆調(diào)

 

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-03-08 15:31:58

Fortran編程語言排行榜

2010-10-03 08:19:47

編程語言排行榜Java

2023-06-09 15:39:40

編程語言Python

2011-01-09 14:47:23

編程語言排行榜

2020-02-14 09:19:12

編程語言JavaPython

2019-07-23 14:14:59

編程語言JavaPython

2021-09-23 10:50:42

編程語言Python排行

2021-07-07 05:42:24

編程語言開發(fā)

2010-12-21 13:51:49

技術(shù)周刊

2010-11-05 13:15:37

編程語言排行榜手機(jī)

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜

2020-03-07 22:01:58

編程語言JavaPython

2013-12-09 10:16:47

Transact-SQ語言排行榜

2021-01-06 12:55:08

編程語言Python開發(fā)

2019-01-09 10:00:19

編程語言Python

2010-06-07 15:57:02

編程語言排行榜框架

2012-12-03 11:23:28

編程語言排行榜

2012-03-12 09:41:01

編程語言排行榜

2013-01-06 01:58:00

編程語言排行
點贊
收藏

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