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

5月編程語(yǔ)言排行榜:動(dòng)態(tài)語(yǔ)言的前世今生

原創(chuàng)
開發(fā)
TIOBE剛剛發(fā)布了2010年5月編程語(yǔ)言排行榜榜單,仔細(xì)觀察本期榜單的Top10,我們會(huì)發(fā)現(xiàn)其中半數(shù)是動(dòng)態(tài)語(yǔ)言,它們是:PHP、Visual Basic、Python、Perl和JavaScript。今天我們就帶您一起了解動(dòng)態(tài)語(yǔ)言的前世今生。

【51CTO獨(dú)家特稿】TIOBE近日發(fā)布了2010年5月的編程語(yǔ)言排行榜,上期榜單C語(yǔ)言反超Java,本期C繼續(xù)以18.186%的份額領(lǐng)跑,Java則位居第二。排名三到五位的依然是C++、PHP、VB,以下是本期編程語(yǔ)言排行榜前十名榜單:

更多榜單回顧,歡迎訪問:51CTO編程語(yǔ)言排行榜

2010年5月編程語(yǔ)言排行榜榜單
2010年5月編程語(yǔ)言排行榜榜單

仔細(xì)觀察本期榜單的Top10,我們會(huì)發(fā)現(xiàn)其中半數(shù)是動(dòng)態(tài)語(yǔ)言,它們是:PHP、Visual Basic、Python、Perl和JavaScript。今天我們就一起走進(jìn)動(dòng)態(tài)語(yǔ)言的前世今生。

前10名編程語(yǔ)言趨勢(shì)走向 
前10名編程語(yǔ)言趨勢(shì)走向

何謂動(dòng)態(tài)?

對(duì)于動(dòng)態(tài)語(yǔ)言,網(wǎng)上比較流行的說法是:程序在運(yùn)行時(shí)可以改變其結(jié)構(gòu),新的函數(shù)可以被引進(jìn),已有的函數(shù)可以被刪除,即程序在運(yùn)行時(shí)可以發(fā)生結(jié)構(gòu)上的變化。我們可以理解成:直接被解釋執(zhí)行的語(yǔ)言稱為動(dòng)態(tài)語(yǔ)言。而需要編譯環(huán)境將程序轉(zhuǎn)換為其它的中間編碼再執(zhí)行的語(yǔ)言稱為靜態(tài)語(yǔ)言。

事實(shí)上,動(dòng)態(tài)語(yǔ)言的根本是在語(yǔ)言設(shè)計(jì)之初的編譯策略選擇,即:編譯器能對(duì)一段程序作出哪些判定。如果一個(gè)語(yǔ)言使用的編譯策略支持編譯器靜態(tài)決定某個(gè)問題,我們認(rèn)為這個(gè)語(yǔ)言使用了一個(gè)靜態(tài)(static)策略,或這說這個(gè)問題可以在編譯時(shí)刻(compile time)決定。另一方面,一個(gè)只允許在運(yùn)行程序的時(shí)刻做出決定的策略成為動(dòng)態(tài)策略(dynamic policy),或這被認(rèn)為需要在運(yùn)行時(shí)刻(run time)作出決定,(以上摘自《編譯原理 2ed》)。一門語(yǔ)言動(dòng)態(tài)與否的重點(diǎn)是在編譯和運(yùn)行,這在應(yīng)用場(chǎng)景方面所產(chǎn)生的不同與程序員的工作密切相關(guān):你能做什么,在何時(shí)做。

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

世界上第一門動(dòng)態(tài)語(yǔ)言(也是世界上第二門編程語(yǔ)言)是Lisp,其后很多語(yǔ)言都從Lisp身上繼承了必要的優(yōu)勢(shì)基因(比如Smaltalk、Python、Ruby等),動(dòng)態(tài)性就是其中之一。上世紀(jì)七十年代,Smalltalk語(yǔ)言出現(xiàn),集合了面向?qū)ο蠛蛣?dòng)態(tài)性獲得當(dāng)時(shí)開發(fā)界的認(rèn)可;1986年P(guān)erl出現(xiàn),高效的開發(fā)效率和極少的語(yǔ)法限制獲得了大量程序員的歡迎,也使更多人領(lǐng)教了動(dòng)態(tài)語(yǔ)言的魅力。

目前,主要的動(dòng)態(tài)編程語(yǔ)言有:PHP、Visual Basic、Ruby、Python、JavaScript、Groovy和Perl等,從動(dòng)態(tài)與靜態(tài)語(yǔ)言趨勢(shì)圖可以看出,動(dòng)態(tài)語(yǔ)言已經(jīng)逐漸轉(zhuǎn)變成主流的編程語(yǔ)言,它們是Web應(yīng)用開發(fā)的主力,并以一種比較輕松的姿態(tài)漸漸走進(jìn)軟件開發(fā)的其他角落。動(dòng)態(tài)語(yǔ)言近年的高速發(fā)展與其自身特點(diǎn)和IT界的高速發(fā)展有很大關(guān)系。

動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言走勢(shì)圖 
近十年動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言走勢(shì)圖

因何而動(dòng)?

與靜態(tài)語(yǔ)言不同,動(dòng)態(tài)語(yǔ)言對(duì)類型的要求并不十分嚴(yán)格,代碼簡(jiǎn)潔自由,一般的動(dòng)態(tài)語(yǔ)言多為動(dòng)態(tài)類型和弱類型,自身即支持泛型編程(這里的類型歸納并不絕對(duì),一般認(rèn)為Python屬?gòu)?qiáng)類型語(yǔ)言,Groovy支持靜態(tài)類型)。動(dòng)態(tài)語(yǔ)言秉承的一個(gè)理念是:優(yōu)化人的時(shí)間而不是機(jī)器的時(shí)間。因此動(dòng)態(tài)語(yǔ)言會(huì)為提高程序員的生產(chǎn)力方面不遺余力,但對(duì)程序性能方面的影響也不可忽視。

51CTO一直提倡從應(yīng)用場(chǎng)景和程序員生產(chǎn)力兩個(gè)方面來評(píng)價(jià)一門語(yǔ)言或技術(shù)。站在程序員的角度,使用動(dòng)態(tài)語(yǔ)言進(jìn)行程序開發(fā)要比靜態(tài)編譯型語(yǔ)言更加輕松自如,沒有過多的語(yǔ)法和編譯限制。我們經(jīng)??梢月牭綇钠渌Z(yǔ)言轉(zhuǎn)向Ruby或Python的人提到“編程的樂趣”,這種樂趣是源自動(dòng)態(tài)語(yǔ)言更接近人的思維(而不是機(jī)器思維),更符合項(xiàng)目需求流程而不是項(xiàng)目實(shí)現(xiàn)流程;同樣一個(gè)功能,動(dòng)態(tài)語(yǔ)言可以用更小的代碼量來實(shí)現(xiàn)。動(dòng)態(tài)語(yǔ)言對(duì)程序員生產(chǎn)力的提高,是其大行其道的主要原因。

在性能方面,動(dòng)態(tài)語(yǔ)言沒有太大的優(yōu)勢(shì),但動(dòng)態(tài)語(yǔ)言的理念是:優(yōu)化人的時(shí)間而不是機(jī)器的時(shí)間。提高開發(fā)者的生產(chǎn)力,寧肯犧牲部分的程序性能或者購(gòu)買更高配置的硬件。隨著IT業(yè)的不斷發(fā)展和摩爾定律的作用,硬件相對(duì)于人件一直在貶值,這個(gè)理念便有了合理的現(xiàn)實(shí)基礎(chǔ)。從動(dòng)態(tài)與靜態(tài)語(yǔ)言趨勢(shì)圖可以看出,動(dòng)態(tài)語(yǔ)言的抬升自2002年開始,2004年達(dá)到高潮,這一區(qū)間也正是計(jì)算機(jī)硬件價(jià)格大幅降低、互聯(lián)網(wǎng)高速發(fā)展的時(shí)段。動(dòng)態(tài)語(yǔ)言的流行,事實(shí)上是動(dòng)態(tài)語(yǔ)言的相關(guān)特性迎合了互聯(lián)網(wǎng)和IT界的發(fā)展,提高了程序員的生產(chǎn)力;雖然具有種種性能方面的不足,但很明顯,動(dòng)態(tài)語(yǔ)言的優(yōu)點(diǎn)戰(zhàn)勝了這些缺點(diǎn)。

#p#

其他編程語(yǔ)言及趨勢(shì)

下面是本期榜單第21-50的編程語(yǔ)言排名:

其他編程語(yǔ)言及趨勢(shì) 

其他編程語(yǔ)言及趨勢(shì) 

 

 以下是本期第51-100的語(yǔ)言排名

ABC, Algol, APL, Applescript, Awk, Beta, cg, Clean, cT, Dylan, Eiffel, Euphoria, Factor, Falcon, Focus, Heron, Icon, IDL, Inform, Informix-4GL, Io, LabWindows/CVI, Lingo, LotusScript, LPC, MAD, Maple, Mathematica, MAX/MSP, Modula-2, Modula-3, MS-DOS batch, MUMPS, Natural, Occam, Oz, PL/I, Postscript, Progress, Q, R, Revolution, REXX, Sed, Seed7, SIGNAL, SPSS, VBScript, VHDL, XSLT

 

【2010年編程語(yǔ)言排行榜回顧】

  1. 4月編程語(yǔ)言排行榜:Top20里的“陌生人”
  2. 2010年3月編程語(yǔ)言排行榜:Fortran歸來
  3. 2月編程語(yǔ)言排行榜:Objective-C的詠嘆調(diào)
  4. 1月編程榜發(fā)布:Google Go意外奪得年度編程語(yǔ)言

 

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

2020-03-07 22:01:58

編程語(yǔ)言JavaPython

2023-06-09 15:39:40

編程語(yǔ)言Python

2020-02-14 09:19:12

編程語(yǔ)言JavaPython

2021-07-07 05:42:24

編程語(yǔ)言開發(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排行

2009-11-11 10:35:59

2021-01-06 12:55:08

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

2019-01-09 10:00:19

編程語(yǔ)言Python

2009-08-04 11:15:57

編程語(yǔ)言排行榜微軟

2013-01-06 01:58:00

編程語(yǔ)言排行

2014-11-11 17:23:32

編程語(yǔ)言排行榜

2013-05-09 10:01:58

編程語(yǔ)言排行榜

2011-10-10 09:08:07

編程語(yǔ)言排行榜

2012-03-12 09:41:01

編程語(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ǔ)言排行榜

2020-05-07 10:02:46

編程語(yǔ)言JavaC語(yǔ)言
點(diǎn)贊
收藏

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