5月编程语言排行榜:动态语言的前世今生

TIOBE近日发布了2010年5月的编程语言排行榜,上期榜单C语言反超Java,本期C继续以18.186%的份额领跑,Java则位居第二。排名三到五位的依然是C++、PHP、VB,以下是本期编程语言排行榜前十名榜单:

更多榜单回顾,欢迎访问:51CTO编程语言排行榜


2010年5月编程语言排行榜榜单

仔细观察本期榜单的Top10,我们会发现其中半数是动态语言,它们是:PHP、Visual Basic、Python、Perl和JavaScript。今天我们就一起走进动态语言的前世今生。

 
前10名编程语言趋势走向

何谓动态?

对于动态语言,网上比较流行的说法是:程序在运行时可以改变其结构,新的函数可以被引进,已有的函数可以被删除,即程序在运行时可以发生结构上的变化。我们可以理解成:直接被解释执行的语言称为动态语言。而需要编译环境将程序转换为其它的中间编码再执行的语言称为静态语言。

事实上,动态语言的根本是在语言设计之初的编译策略选择,即:编译器能对一段程序作出哪些判定。如果一个语言使用的编译策略支持编译器静态决定某个问题,我们认为这个语言使用了一个静态(static)策略,或这说这个问题可以在编译时刻(compile time)决定。另一方面,一个只允许在运行程序的时刻做出决定的策略成为动态策略(dynamic policy),或这被认为需要在运行时刻(run time)作出决定,(以上摘自《编译原理 2ed》)。一门语言动态与否的重点是在编译和运行,这在应用场景方面所产生的不同与程序员的工作密切相关:你能做什么,在何时做。

动态语言的历史

世界上第一门动态语言(也是世界上第二门编程语言)是Lisp,其后很多语言都从Lisp身上继承了必要的优势基因(比如Smaltalk、Python、Ruby等),动态性就是其中之一。上世纪七十年代,Smalltalk语言出现,集合了面向对象和动态性获得当时开发界的认可;1986年Perl出现,高效的开发效率和极少的语法限制获得了大量程序员的欢迎,也使更多人领教了动态语言的魅力。

目前,主要的动态编程语言有:PHP、Visual Basic、Ruby、Python、JavaScript、Groovy和Perl等,从动态与静态语言趋势图可以看出,动态语言已经逐渐转变成主流的编程语言,它们是Web应用开发的主力,并以一种比较轻松的姿态渐渐走进软件开发的其他角落。动态语言近年的高速发展与其自身特点和IT界的高速发展有很大关系。

 
近十年动态语言与静态语言走势图

因何而动?

与静态语言不同,动态语言对类型的要求并不十分严格,代码简洁自由,一般的动态语言多为动态类型和弱类型,自身即支持泛型编程(这里的类型归纳并不绝对,一般认为Python属强类型语言,Groovy支持静态类型)。动态语言秉承的一个理念是:优化人的时间而不是机器的时间。因此动态语言会为提高程序员的生产力方面不遗余力,但对程序性能方面的影响也不可忽视。

51CTO一直提倡从应用场景和程序员生产力两个方面来评价一门语言或技术。站在程序员的角度,使用动态语言进行程序开发要比静态编译型语言更加轻松自如,没有过多的语法和编译限制。我们经常可以听到从其他语言转向Ruby或Python的人提到“编程的乐趣”,这种乐趣是源自动态语言更接近人的思维(而不是机器思维),更符合项目需求流程而不是项目实现流程;同样一个功能,动态语言可以用更小的代码量来实现。动态语言对程序员生产力的提高,是其大行其道的主要原因。

在性能方面,动态语言没有太大的优势,但动态语言的理念是:优化人的时间而不是机器的时间。提高开发者的生产力,宁肯牺牲部分的程序性能或者购买更高配置的硬件。随着IT业的不断发展和摩尔定律的作用,硬件相对于人件一直在贬值,这个理念便有了合理的现实基础。从动态与静态语言趋势图可以看出,动态语言的抬升自2002年开始,2004年达到高潮,这一区间也正是计算机硬件价格大幅降低、互联网高速发展的时段。动态语言的流行,事实上是动态语言的相关特性迎合了互联网和IT界的发展,提高了程序员的生产力;虽然具有种种性能方面的不足,但很明显,动态语言的优点战胜了这些缺点。

其他编程语言及趋势

下面是本期榜单第21-50的编程语言排名:

 以下是本期第51-100的语言排名

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

时间: 2024-10-25 00:14:20

5月编程语言排行榜:动态语言的前世今生的相关文章

TIOBE 2014年9月编程语言排行榜 Java、C++跌至历史最低点

TIOBE 2014年9月编程语言排行榜今天发布,Java.C++跌至历史最低点,前三名则没有变化,C.Java.Objective-C. 尽管Java排名第二,但其份额却在下降,从图表上可以看出,下降了-2.01%.另外排名第四的C++份额下降幅度也较大,为-3.99%. TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员.课程和第三方厂商的数量.排名使用著 名的搜索引擎(诸如Google.MSN.Yahoo!.Wikipedia.Yo

2014年11月编程语言排行榜,看看哪些更大众

摘要:今日,TIOBE刚刚发布了11月编程语言排行榜,本月前十基本稳定,C.Java以及Objective-C依然稳居前三,然而用于统计分析.绘图和操作环境的R语言排名晋升迅速,本月位居12名,下个月有望进入前十. 得益于大数据的发展和当前热度,统计编程语言排名普遍提高,比如Julia (#126).LabView (#63).Mathematica (#80).MATLAB (#24).S (#84).SAS (#21).SPSS (#104) 以及Stata (#110).这些语言大部分每月

2013年7月和2013年8月编程语言排行榜

TIOBE世界编程语言排行榜展现了编程语言的流行趋势.每一个月,都有最新的数据被更新.这份排行榜的数据取样来源于互联网上富有经验的程序员.商 业应用.著名的搜索引擎(诸如谷歌. MSN .雅虎)的关键字排名.Alexa 上的排名等.请注意这个排行榜只是反映了某个编程语言的热门程度 , 这并不代表它是一个最好的编程语言或是可以写出某些令人称赞的好程序. 由www.169it.com搜集整理 TIOBE 于近日公布了2013年8月TIOBE 编程语言指数排行榜.和上月相比,此次前三位置有明显变化,J

TIOBE 2015年7月编程语言排行榜:C++的复兴

TIOBE 2015年7月编程语言排行榜:C++的复兴 发表于2015-07-13 17:03| 16086次阅读| 来源CSDN| 128 条评论| 作者钱曙光 编程语言排行榜TIOBEC++ 摘要:C++是2015年上半年同比增长最快的编程语言,具体为C++ 增长3.1%.Java 增长2.0%.C#增长1.6%.Python增长1.6%. C++大幅度增长的原因可能是引入了新的C++11标准,这使得C++被大范围的接受. C++是2015年上半年同比增长最快的编程语言,具体为: 与去年相比

TIOBE 2017 8月编程语言排行榜 后院“硝烟四起”

处于排名榜最前面的几个编程语言的分数长期以来一直都在下降:Java和C在TIOBE榜单中的分数一直比较低.而且几乎所有其他排名前十的语言每年都在下降. 那么哪个什么语言抓住了这个机遇呢?这发生在排行榜的40位左右. 一些新语言的排名正在上升,特别是Crystal(32名),Kotlin(41名),Clojure(42名),Hack(43名)和Julia(46名).Crystal的表现特别的好,在一个月内从第60名跳到第32名. Crystal语言是一个静态类型的Ruby变体.由于它是需要编译的,

TIOBE 9月编程语言排行榜:Julia首次进入前50

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员. 课程和第三方厂商的数量.排名使用著名的搜索引擎(诸如 Google.MSN.Yahoo!.Wikipedia.YouTube 以及 Baidu 等)进行计算. 该指数可以用来检查你的编程技能是否仍然是最新的或作出什么开始建立一个新的软件系统时,编程语言应采取的战略决策.在 TIOBE 指数的定义可以在这里找到. 编程语言排行榜 TOP 20 榜单: 前 10 名编程语言长期走势图:

TIOBE 2015年6月编程语言排行榜

TIOBE排行榜是根据互联网上有经验的程序员.课程和第三方厂商的数量,并使用搜索引擎(如Google.Bing.Yahoo!.百度)以及Wikipedia.Amazon.YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少. 2015年6月的排行榜引人注目的是Objective-C与Swift的排名.

2016年09月编程语言排行榜

无论对于新人还是老人来说,在确定学习或者深入研究特定的技术前,参考该领域的流行度通常都是有价值的,以下是2016年8月编程语言流行度排行榜:

2016年8月编程语言排行榜

无论对于新人还是老人来说,在确定学习或者深入研究特定的技术前,参考该领域的流行度通常都是有价值的,以下是2016年8月编程语言流行度排行榜: