Lua入門(一) -- 簡介與應用場景

1.lua是什麼

簡介:Lua是一個小巧的腳本語言。它是巴西里約熱內盧天主教大學裏的一個三人所組成的研究小組於1993年開發的。 其設計目的是爲了通過靈活嵌入應用程序中從而爲應用程序提供靈活的擴展和定製功能。Lua由標準C編寫而成,幾乎在所有操作系統和平臺上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作爲開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平臺上的即時編譯功能。Lua腳本可以很容易的被C/C++ 代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作爲擴展腳本,也可以作爲普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。 Lua由標準C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平臺上都可以編譯,運行。一個完整的Lua解釋器不過200k,在所有腳本引擎中,Lua的速度是最快的。

簡單來說: Lua是一個小巧的腳本語言,用標準的C語言編寫並以源代碼的形式開放,設計目的是爲了通過靈活嵌入應用程序中併爲其提供靈活的擴展能力和定製功能,例如外掛腳本。

由於api有限,所以一直不慍不火,但其在嵌入式腳本中仍然爲最佳選擇。

百度介紹

2.特性

  • 支持面向過程編程和函數式編程。(java爲面向對象,sql語句就位爲面向過程)
  • 自動內存管理,只提供了一種通用類型的(table),用它可以實現數組、哈希表、集合、對象。(java有垃圾回收機制,守護線程自動回收,C需要手動回收)
  • 語言內置匹配模式:閉包(closure),函數也可以作爲一個值,提供多線程(不爲操作系統的進程)支持。
  • 通過閉包和table可以很方便的支持面向對象編程所需要的一些關鍵機制,比如數據抽象,虛函數,繼承和重載。(僅僅是機制,本質上還是面向過程)

3.應用場景

  • 遊戲開發
  • 獨立應用腳本
  • Web應用腳本
  • 擴展和數據庫插件:Mysql Proxy 和 MySQL WorkBench(安裝介紹地址借鑑其他博客)
  • 安全檢測,如入侵檢測系統
  • Redis中嵌套調用類似事務的功能
  • web容器中應用處理一些過濾 緩存等邏輯 例如nginx
發佈了17 篇原創文章 · 獲贊 0 · 訪問量 419
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章