成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么我選擇Lua?

開發 開發工具
Lua是一個小眾產品,而什么本文中作者會選擇Lua語言呢?作者認為Lua語言的7點優勢足夠讓他認為Lua確實是一門非常簡單并強大的語言。下面就讓我們詳細的了解下吧。

在這篇文章中,我將向你解釋為什么要使用Lua。我寫這篇文章最初的動機是由于Lua郵件列表中的一則消息 “why isn't Lua more widely used?” 。針對這個消息的回復各種各樣,有的說是因為缺少類庫,而我更贊同另外一個觀點,那就是大部分人都不喜歡自己動手 (do it yourself)的方式來解決問題。我常常把Lua比作Arch Linux。這也就注定了Lua是一個小眾產品。下面我將列出幾條為什么我要使用Lua的理由:

1. 可以和 C/C++ 集成

我的編程經歷不長,但是我已經使用過很多種語言了,包括Lisp,Scheme,Python,Perl,Bash,VBA,SQL等等。但是它們沒有一個可以像Lua那樣可以和C混著使用。C語言的API非常的干凈和直觀,你花一個下午的時間就可以上手了。如果你對這個感興趣的話,你可以看看“PIL's section on the C API” 。

為什么這個特性很重要呢?首先,如果你有現成的C/C++類庫的話,你可以很容易的在Lua中調用這些API。或者你也可以寫一個腳本讓Lua在C中執行。這也意味著Lua的程序不會有速度問題。如果你還是覺得Lua不夠快的話,你可以用C完全重寫這段代碼。雖然別的語言的程序也可以用C重寫,但是我還沒有發現誰能比Lua更方便的做到這一點。

2. 快速、簡潔

相比于其他語言,Lua的實現是非常高效的。也許是因為Lua使用的是“基于寄存器的虛擬機” 而不是基于堆棧的虛擬機。或者說使用Lua的開發者都非常的牛逼。不管怎樣,你幾乎不需要顧慮Lua代碼的性能問題。

但是如果你對性能還是不滿意的話,你可以嘗試使用LuaJIT:
“LuaJIT是公認的運行最快的動態語言的實現,并且對內存的使用少,虛擬機占用低于125K,JIT編譯器占用不到85K (在x86環境中)。”
LuaJIT可以幾乎和C代碼餓速度媲美。不管怎樣,如果你還是對速度不滿意的話,你可以試試我在***點中提出的建議。

3. 教育作用

雖然這不是一個編程語言的功能,但是我發現使用Lua讓我對計算機科學的整體了解有所提高。比如說,這篇文章是關于 Lua 5.0 的實現的,讓我對虛擬機是如何實現的有了一個了解。閱讀源代碼讓我大開眼界。我認為這一切都得益于Lua有條不紊的改進

4. 函數式編程

Lua提供了函數式編程的架構,讓編程更加的有趣。例如 anonymous functions, higher order functions, lexical closures,proper tail calls等等。這些特性不是語言的一些語法糖,而是Lua從底層就整合了這些特性。比如說,Lua的每一個方法都是一個值(比如數字2,或者字符串“ktr”),也就意味著每一個方法都是匿名的。你只要給它取個名字,然后你就可以調用它了。你可以給print重新賦值:
print = math.sin
你可以利用這個功能創建沙箱。如果print是一個危險的操作,你可以替換成你自己的print方法或者從全局中刪除這個方法。

5. 任何東西都是一張表

在Lua中,任何一個變量類型都是一張表,例如Array,Hash,“module”或者全局變量等等。也就是說你可以“require”一些模塊(類似Python的import語句)并且把結果當錯table來處理。在Python中,你可以 __import__('...') 一些模塊,然后返回值的變量就可以通過類似 var(module) 的方式來訪問。在Lua中,你可以通過 module[var] 的方式來訪問模塊中的變量。我這里提到Python是為了強調不同之處,說明Lua更容易使用。

這也讓你學習Lua的語法更加快速。你不用擔心list和dictionary、package有什么不同。

6. 一致性

不知你是否意識到,Lua是非常一致的語言。它的很多功能都是做的恰到好處。比如說,Lua沒有“for”循環直到Lua 4.0,也就是Lua語言發布7年以后。這是因為while循環更為通用,而且語法更簡潔。Lua的開發團隊相對來說比較保守,他們不接受patch,所以Lua的進化比較緩慢,但是比較平穩。你知道所有的功能都是有規劃的在進行,也就意味著你不能指望你所期待的功能可以被很快的實現。

7. 可移植性

關于這一點我不會講很多細節,但是Lua基本上可以在任何環境中運行。Lua的代碼是按照“Clean ANSI C”的標準編寫的,所以如果你有一個C的運行環境,你就可以運行Lua。

總結:Lua是一門非常簡單但是強大的語言。

原文鏈接:http://www.oschina.net/news/26081/why-i-choose-lua

【編輯推薦】

  1. 編程語言新寵兒:Julia誕生記
  2. 當下主流JVM語言一覽
  3. Lua開發工具脫離Eclipse 成為獨立版本
  4. 菜鳥入門Java語言學習的要點
  5. 流行的編程語言之戰
責任編輯:林師授 來源: 開源中國社區
相關推薦

2012-11-14 20:55:07

容錯服務器選型CIO

2013-10-22 15:18:19

2021-02-01 07:20:51

KafkaPulsar搜索

2021-04-06 11:07:02

字節跳動組織架構

2018-12-21 11:26:49

MySQLMongoDB數據庫

2019-04-19 11:56:48

框架AI開發

2025-01-03 08:50:23

2012-10-10 16:52:21

CentOSDebianUbuntu

2011-11-28 10:21:52

Nginx特性

2020-08-14 10:40:35

RestTemplatRetrofitJava

2021-03-15 07:43:17

騰訊工作事業

2012-01-05 10:14:24

諾基亞聯手微軟

2009-06-25 15:09:34

選擇JSFESRI

2012-04-04 22:07:12

Android

2009-12-21 17:11:38

Linux認證

2020-07-17 14:06:36

Scrum敏捷團隊

2015-10-14 18:25:03

一體化架構設計微服務

2016-08-19 16:27:52

數據庫Mongo DB開發

2017-02-27 15:19:04

2015-03-02 15:13:52

Apple Watch
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲经典一区 | 国产精品视频一区二区三区 | 黄色一级免费 | 精品久久久久一区二区国产 | 免费观看羞羞视频网站 | 日韩高清一区二区 | 天天躁日日躁狠狠躁2018小说 | 精品国产91亚洲一区二区三区www | 久久久久欧美 | 国产日韩一区二区三区 | 精品日韩 | 精品国产不卡一区二区三区 | 国产欧美日韩精品一区二区三区 | 日韩三级电影一区二区 | 亚洲欧洲国产视频 | 一区二区三区四区国产精品 | 91视频久久 | 久久久久国产精品一区二区 | 欧美一区二区小视频 | 日本特黄a级高清免费大片 特黄色一级毛片 | 粉嫩在线| 青青草原综合久久大伊人精品 | 精品视频久久久久久 | 国产成人在线视频播放 | 天天射夜夜操 | 欧美成人免费在线视频 | 国产精品久久久 | 免费在线观看黄色av | av高清毛片| 国产精品精品久久久 | 亚洲a视频| 欧美区在线观看 | 久久av一区| 国产性网| 九九亚洲 | 一本久久a久久精品亚洲 | 91伊人网| 99精品一区| 日日操操 | 日韩视频一区二区在线 | 国产资源在线视频 |