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

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

原創(chuàng)
開發(fā) 開發(fā)工具 前端
8月4日,Tiobe公布了最新的8月編程語言排行榜,和7月榜單相比,最大變動(dòng)就數(shù)微軟的F#了,F(xiàn)#首次進(jìn)入TOP20。1至10名中,PHP重返第4,C#則到了第5,其他不變。本期51CTO編程語言排行榜便以Lua語言為主題,介紹這款以巴西總統(tǒng)的名字命名的移動(dòng)開發(fā)語言新貴。

8月4日,Tiobe公布了***的8月編程語言排行榜,和7月榜單相比,***變動(dòng)就數(shù)微軟的F#了,F#***進(jìn)入TOP20。1至10名中,PHP重返第4,C#則到了第5,其他不變。不過看看最近人氣上升的F# ,就沒有什么好奇怪的了。作為一種不錯(cuò)的程序設(shè)計(jì)語言,微軟***的Visual Studio 2010中也包含了F#。

下面是前20名的編程語言排行

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

2011年6月、7月的Tiobe編程語言排行榜都介紹了移動(dòng)開發(fā)語言Lua,其中7月編程語言排行榜以年度語言預(yù)測(cè)為主題,直言Lua是2011年度唯一有機(jī)會(huì)挑戰(zhàn)Objective-C的語言。但是Lua到底是什么語言呢?本期51CTO編程語言排行榜便以Lua語言為主題,介紹這款以巴西總統(tǒng)的名字命名的移動(dòng)開發(fā)語言新貴。51CTO推薦專題:移動(dòng)開發(fā)之編程語言教程

2011年8月編程語言排行榜

(圖)Lua語言

Lua是一個(gè)被設(shè)計(jì)成用于擴(kuò)展C/C++編程的輕量級(jí)腳本語言,它的目標(biāo)是成為一個(gè)很容易嵌入其它語言中使用的語言。Lua讓C/C++編寫的代碼調(diào)用Lua腳本,同時(shí)C/C++函數(shù)也能夠在Lua腳本中調(diào)用。與C/C++代碼的交互性,讓Lua在應(yīng)用程序開發(fā)中有著廣泛的應(yīng)用基礎(chǔ)。很多應(yīng)用程序使用Lua作為自己的嵌入式腳本語言,以此來實(shí)現(xiàn)可配置性、可擴(kuò)展性。

Lua名字的由來

小巧的Lua語言來自于巴西里約熱內(nèi)盧天主教大學(xué)的實(shí)驗(yàn)性項(xiàng)目。當(dāng)初巴西里約熱內(nèi)盧天主教大學(xué)的師生為什么要給這款語言起名為“Lua”,很大程度上是向巴西著名政治家、前任總統(tǒng)路易斯·伊納西奧·盧阿·達(dá)席爾瓦致敬。盧阿總統(tǒng)是是巴西歷史上學(xué)歷***,但是支持率***的總統(tǒng),深受人民愛戴,作為巴西國家電子領(lǐng)域最重要的人才培養(yǎng)基地的里約熱內(nèi)盧天主教大學(xué)計(jì)算機(jī)研究生院把他們?cè)谟?jì)算機(jī)世界中最重要成就“Lua”語言與他們總統(tǒng)同名,可見他們對(duì)Lua語言給予了多么大的希望。

[[38551]]

巴西前總統(tǒng)盧阿

Lua語言在移動(dòng)開發(fā)中的成功

2011年以前中國人對(duì)Lua語言的老家里約熱內(nèi)盧可以說是基本不了解,不過一部以小鳥愛情為主題的動(dòng)畫片《里約大冒險(xiǎn)》讓我們了解了里約熱內(nèi)盧的美麗風(fēng)光。同樣一個(gè)小鳥保衛(wèi)鳥蛋的游戲《憤怒的小鳥》讓Lua語言風(fēng)靡開發(fā)者的世界。(51CTO擴(kuò)展閱讀《開發(fā)憤怒的小鳥的Lua語言:Wax框架詳解1》、《開發(fā)憤怒的小鳥的Lua語言:Wax框架詳解2》)

2011年8月編程語言排行榜

(圖)里約大冒險(xiǎn)版《憤怒的小鳥》

像前文所說Lua語法簡(jiǎn)潔優(yōu)美,解釋器由標(biāo)準(zhǔn)C編寫。以快速小巧著稱的Lua擁有在目前所有腳本引擎中最快的運(yùn)行速度,這樣的特性讓Lua成為用作嵌入式腳本的***選擇。但是,Lua語言被人們所熟知還要追述到1年前喬布斯的蘋果將Lua語言引進(jìn)iOS平臺(tái),直到現(xiàn)在已經(jīng)有很多iPhone的應(yīng)用寫入到Lua中。而Lua語言憑借其代碼幾乎能在所有操作系統(tǒng)和移動(dòng)終端上編譯運(yùn)行的這一特性,不但可以在iOS這一移動(dòng)平臺(tái)開發(fā),同樣也可以在Android等其他平臺(tái)上開發(fā)。51CTO曾介紹過Lua語言的SDK庫Corona。有了Corona SDK以后Lua語言不但可以支持iOS,還可以支持Android平臺(tái)。以上這些原因使Lua語言在Tiobe編程語言排行榜上迅速攀升,成為移動(dòng)開發(fā)領(lǐng)域的新貴。

Lua的技術(shù)特點(diǎn)

目前Lua語言的***版本是5.2 Beta,Lua也能對(duì)面向?qū)ο缶幊?,函?shù)式編程,數(shù)據(jù)驅(qū)動(dòng)式編程提供很好的支持。作為一個(gè)擴(kuò)展式語言,Lua沒有 "main" 程序的概念:它只能嵌入一個(gè)宿主程序中工作,這個(gè)宿主程序被稱作embedding program或簡(jiǎn)稱為host。宿主程序可以通過調(diào)用函數(shù)執(zhí)行一小段Lua代碼,可以讀寫Lua變量,可以注入C函數(shù)讓Lua代碼調(diào)用。這些擴(kuò)展的C函數(shù),可以大大的擴(kuò)展了Lua可以處理事務(wù)的領(lǐng)域,這樣就可以訂制出各種語言,而它們共享一個(gè)統(tǒng)一的句法格式的框架。Lua的官方發(fā)布版就包含了一個(gè)叫做Lua的簡(jiǎn)單的宿主程序,它用Lua庫提供了一個(gè)保證獨(dú)立的Lua解釋器。

寫一個(gè)最最簡(jiǎn)單的程序——Hello World。

  1. print("Hello World") 

假定你把上面這句保存在hello.lua文件中,你在命令行只需要:

  1. prompt> lua hello.lua 

看到結(jié)果了嗎?

讓我們來看一個(gè)稍微復(fù)雜點(diǎn)的例子:

  1. -- defines a factorial function  
  2. function fact (n)  
  3.     if n == 0 then  
  4.        return 1  
  5.     else  
  6.        return n * fact(n-1)  
  7.     end  
  8. end  
  9.    
  10. print("enter a number:")  
  11. a = io.read("*number")      -- read a number  
  12. print(fact(a)) 

這個(gè)例子定義了一個(gè)函數(shù),計(jì)算輸入?yún)?shù)n的階乘;本例要求用戶輸入一個(gè)數(shù)字n,然后打印n的階乘。

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

(圖)魔獸世界插件中的“Hello World”

很多網(wǎng)站宣傳Lua語言作為腳本開發(fā)了《魔獸世界》,其實(shí)Lua語言只是開發(fā)了《魔獸世界》的插件,幾乎所有的《魔獸世界》插件都是使用解釋性的腳本Lua編寫,核心的C++代碼只占全部代碼中的很小一部分比重。在傳統(tǒng)平臺(tái)上Lua***的應(yīng)用場(chǎng)景是在游戲中作為處理邏輯的腳本,即用來編寫游戲的任務(wù)腳本,以實(shí)現(xiàn)游戲的可配置性和可擴(kuò)展性。在游戲中Lua腳本的加載不需重啟服務(wù)器,盡管腳本的運(yùn)行效率低于編譯好的二進(jìn)制代碼,但目前CPU速度已完全能夠讓Lua腳本迅速解釋執(zhí)行。這也正是包括《魔獸世界》、《戰(zhàn)錘40K》、《仙境傳說》、《博德之門》和《軒轅劍外傳漢之云》在內(nèi)的眾多游戲選擇Lua開發(fā)插件的原因。

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

(圖)魔獸世界中游戲內(nèi)插件開發(fā)的布局器

想學(xué)習(xí)Lua語言的朋友還可以到51CTO下載頻道魔獸世界Lua插件的編輯器來試驗(yàn)一下。

#p#

下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢(shì)走向。

前10名編程語言走勢(shì)圖

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

20到50名語言排行

Position Programming Language Ratings
21 Logo 0.596%
22 PL/SQL 0.525%
23 Scheme 0.497%
24 Go 0.482%
25 C shell 0.475%
26 Visual Basic .NET 0.464%
27 Q 0.458%
28 D 0.445%
29 MATLAB 0.444%
30 SAS 0.414%
31 R 0.404%
32 Forth 0.399%
33 Scratch 0.399%
34 Fortran 0.385%
35 Haskell 0.370%
36 NXT-G 0.356%
37 ML 0.343%
38 NATURAL 0.337%
39 Clean 0.336%
40 LabVIEW 0.311%
41 ActionScript 0.308%
42 ABAP 0.303%
43 Icon 0.302%
44 PL/I 0.290%
45 OpenEdge ABL 0.286%
46 Alice 0.283%
47 COBOL 0.281%
48 Erlang 0.275%
49 MOO 0.273%
50 Prolog 0.264%

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

(Visual) FoxPro, ABC, Algol, APL, Arc, ATLAS, Avenue, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, CFML, cg, CL (OS/400), Cobra, cT, Dylan, Eiffel, Factor, Groovy, Inform, Io, J, Ladder Logic, MAD, Magic, Maple, Mercury, Monkey, MUMPS, Oberon, Occam, OpenCL, Oz, PILOT, PowerShell, Revolution, S, Scala, Smalltalk, Standard ML, SuperCollider, Tcl, TOM, VBScript, VHDL, X10

不同語言的比例

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua

 下面給出了編程語言類別的一年變化趨勢(shì)

8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua 

【2011年榜單回顧】

  1. 2011年7月編程語言排行榜:COBOL五角大樓出品
  2. 2011年6月編程語言排行榜:為孩子創(chuàng)造的語言Scratch
  3. 2011年5月編程語言排行榜:用MATLAB構(gòu)建宇宙
  4. 2011年4月編程語言排行榜:告別Smalltalk
  5. 2011年3月編程語言排行榜:用Ada向人類首位程序員致敬
  6. 2011年2月編程語言排行榜:冰河時(shí)代的Fortran
  7. 2011年1月編程語言排行榜:Python稱霸2010

【責(zé)任編輯:陳貽新 TEL:(010)68476606】

責(zé)任編輯:陳貽新 來源: 51CTO
相關(guān)推薦

2011-08-08 14:49:51

技術(shù)周刊

2011-08-18 09:41:44

開發(fā)技術(shù)周刊

2020-08-13 11:55:33

編程語言JavaPython

2020-03-07 22:01:58

編程語言JavaPython

2009-08-04 11:15:57

編程語言排行榜微軟

2012-08-07 10:10:23

編程語言排行榜

2023-06-09 15:39:40

編程語言Python

2021-08-12 08:55:22

編程語言數(shù)據(jù)Python

2010-08-02 16:44:31

2020-02-14 09:19:12

編程語言JavaPython

2021-07-07 05:42:24

編程語言開發(fā)

2019-07-23 14:14:59

編程語言JavaPython

2021-09-23 10:50:42

編程語言Python排行

2014-11-11 17:23:32

編程語言排行榜

2009-11-11 10:35:59

2010-05-17 09:04:50

動(dòng)態(tài)語言

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜

2009-10-05 09:46:12

編程語言排行榜Ruby

2011-10-10 09:08:07

編程語言排行榜
點(diǎn)贊
收藏

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