[Lua] Luaについて

englishニュースquotespressauthorscontactlicensedocumentationversionsthanks

プログラム言語Luaについて: Lua言語とは Luaを使うわけ 開発元について 名前の由来 Luaへの支援 。これはLuaの公式ホームページの日本語訳である。

Lua言語とは

Luaは、組み込みしやすい、軽くて速い、実用的なスクリプト言語である。

シンプルな手続き型の文法の中で、連想配列を基本としたデータ記述の強力さと、 拡張性を備えている。動的な型付けをする言語としてインタプリタで動作するもので、 逐次的なガベージコレクションを備えたレジスタ型仮想マシンを採用している。 システムの初期設定や処理手順スクリプトの実現に適しているだけでなく、 プログラムの素早い試作にも重宝する。

Luaを使うわけ

実証された頑丈さ

Luaを使ったソフトウェア開発の実績は増えている。たとえば、 アドビ社のフォトショップ・ライトルーム のような一般ののソフトウェアだけでなく、特に組込機器に好適であり、 ブラジルのデジタルTV放送のための機器を構成する ミドルウェアGinga 等の例がある。さらに、 ワールドオブワークラフトをはじめとしてゲーム ソフトウェアでの普及も顕著である。 完成度の高いリファレンスマニュアル だけでなく多くの 書籍も出版されている。1993年に作られてから それぞれのバージョンが今も利用されている。 国際会議においても HOPL III、 ACM SIGPLAN会議でのセッション ”プログラム言語の歴史”(2007年6月)等の議論に登場している。

速さ

処理の効率やスピードが高く評価されており、しばしば他のスクリプト言語が速さがLuaと同程度かと評価される事もある。既存の インタプリタ型のスクリプト言語のベンチマークテストでは最高速となった例もあった。 ベンチマーク用のプログラムで速くなるように作られたのでなく、 現実の問題に対するプログラムで充分な速さになる。現在では大規模なソフトウェア開発にも利用されている。

移植性の良さ

通常のC言語のコンパイラ(ANSI/ISO)があれば、どこでも動作するように 小さな 配布パッケージであるのも特徴である。各種のUnixやWindowsだけでなく、 BREW規格のau携帯電話や、Symbian,Pocket PC等の携帯端末、 そしてARMやRabbit 等の組み込みプロセッサの応用機器、例えば レゴ マインドストームでも利用されている。

組込が容易

プログラムへの組込を容易にするべく、邪魔にならない小さいサイズ になった高速な言語エンジンである。シンプルなプログラムインターフェイス(API)で、 C言語等で書かれている既存プログラムと高度な連携が可能である。Lua自体を拡張するのに別な言語の為のライブラリを使うこともある。 LuaによってCやC++のプログラムが拡張できるだけでなく、Java、C#、 Smalltalk、Fortran、Ada、Erlang さらにはPerlやRubyといった他のスクリプト言語を結合した例もある。

シンプルで強力

Luaの設計における基本コンセプトは、言語自体に様々な機能を装えるのではなく、 機能を実現できる巧妙な仕掛けを提供することである。例えば、 Luaはオブジェクト指向言語ではないが、クラスや継承といった 機能を実現できるメタなメカニズムを備えている。これは、 言語そのものは小さくて無駄がなく、 オリジナルな言語の拡張も可能にする。

コンパクトさ

プログラムにLuaを組み込んでもシステム全体のサイズには影響が小さい。 配布されているバージョン5.2.3の tarファイル はたった246Kbyteで、 ソースコード、ドキュメントおよびサンプルプログラムが含まれ、 展開しても960Kbyteであり、 C言語によるLua本体のソースコードは約2万行である。 動作に必要な実行環境のサイズは Linuxでは標準のLuaライブラリを含むLuaインタプリタ本体が182Kbyteで、 Lua言語本体の実行時ライブラリが244Kbyteとなる。

フリーソフト

Luaは、 自由度の高いMITライセンスで配布されている。 商用を含めどんな用途にも無償で ダウンロードできる。特に携帯電話のような制約のある装置 での開発に威力を発揮することが MikePallの要約や、 Timm Mulerのポスターで紹介されている。

Luaの開発元

リオデジャネイロカトリカ大学のPUC-Rio 研究チーム で設計され、実装、そして保守されている。Luaを作ってきたのは Tecgraf というコンピュータグラフィックス技術のグループである。 現在は同じ大学の コンピュータ科学科の研究室 LabLua で開発が続けられている。

名前の由来

Luaはルアと読み、ポルトガル語で月の意味である。 大文字でLUAと書くと 略語や頭文字のように見えて 別の意味 になる時もあり、紛らわしくないようにLuaと書くことにしている。

Luaへの支援

Luaの書籍を買うことによって、 寄付と同じように、 Lua言語の開発チームが支援されている。 また、Luaのロゴが入った Tシャツ等をオンラインで購入されるのも支援になるし、 Luaの成果を広報する活動の一環となる。 Zazzle CafePress 等からも販売されている。

[buy at the Lua Bookstore at Amazon]      [make a donation to the Lua project]


Last update: Sat Aug 23 JST 2010 日本語訳については 上野豊(産総研)Luaまで。